Senin, 16 Januari 2017

Java Code Generate Kalendar

January 2017
====================
Mi Se Se Ra Ka Ju Sa
--------------------
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 # 18 19 20 21
22 23 24 25 26 27 28
29 30 31
--------------------
BUILD SUCCESSFUL (total time: 0 seconds)


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package okdeh;

import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class Kalender2 {
  private static final int[] jml_hari = {
    31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
  };

  public Kalender2() {
    Calendar cal = Calendar.getInstance();
    int thn = cal.get(Calendar.YEAR);
    int bln = cal.get(Calendar.MONTH);

    // Menciptakan objek GregorianCalendar dengan tahun dan
    // bulan saat ini
    GregorianCalendar gCal = new GregorianCalendar(thn, bln, 1);

    System.out.printf("%tB %<tY %n", new Date());
    System.out.println("====================");
    System.out.println("Mi Se Se Ra Ka Ju Sa");
    System.out.println("--------------------");

    // Jumlah kolom kosong di awal bulan
    int blank = gCal.get(Calendar.DAY_OF_WEEK)-1;

    int dMonth = jml_hari[bln];
    // Jika tahun kabisat, jumlah hari bulan Februari = 29
    if (gCal.isLeapYear(gCal.get(Calendar.YEAR)) && bln == 1) {
      ++dMonth;
    }

    // Mengosongkan kolom sebelum tanggal 1
    for (int i=0; i<blank; i++) {
      System.out.print("   ");
    }

    // Mencetak tanggal sebanyak jumlah hari bulan
    for (int i=1; i<=dMonth; i++) {
      // Tambahkan satu karakter kosong jika tgl <= 9
      if (i <= 9) {
        System.out.print(" ");
      }

      // Jika i = tgl sekarang, cetak sebagai karakter #
      if (i == cal.get(Calendar.DATE)) {
        System.out.print("#");
      } else {
        System.out.print(i);
      }

      if ((blank + i) % 7 == 0) {
        System.out.println();
      } else {
        System.out.print(" ");
      }
    }
    System.out.println("\n--------------------");
  }

  public static void main(String[] args) {
    new Kalender2();
  }
}

Tidak ada komentar:

Posting Komentar