例題 GregorianCalendarクラス

例題1 日付と時間の取得

次のプログラムはGregorainCalendarクラスのインスタンスCを作り、年月日、時分秒をそれぞれ取得するものです。

getメソッドを使うと指定したフィールド名で日付や時間の情報を取得できます。

// Calendarクラスの利用例
import java.util.*;

class Ex_GreCalendar_01 {
  public static void main(String args[]){

// 年月日、時間を記憶する変数の宣言
    int Year, Month, Date, Hour, Minute, Second, AMPM;
    String S_AMPM;

// GregorianCalendarクラスのインスタンスCの宣言
    Calendar C = new GregorianCalendar();

// 日付と時間の取得
    
    Year = C.get(C.YEAR);
    Month = C.get(C.MONTH);
    Date = C.get(C.DATE);
    AMPM = V.get(C.AM_PM);
    Hour = C.get(C.HOUR);
    Minute = C.get(C.MINUTE);
    Second = C.get(C.SECOND);

// 午前午後の判定<>
    if(AMPM == C.AM){
      S_AMPM = "午前";
    } else {
      S_AMPM = "午後";
    }
// 日付と時間の表示
    System.out.println("今日は" + Year + "年" + Month + "月" + Date + "日");
    System.out.println("現在時間は" + Hour + "時" + Minute + "分" + Second + "秒");
  }
}

例題2 今日、今週の情報

次のプログラムは今日や今週が週、月、年の何日目、何週目に当たるかを表示するものです。

// Calendarクラスの利用例
import java.util.*;

class Ex_GreCalendar_02 {
  public static void main(String args[]){

// 情報を記憶する変数の宣言
    int DoW, DoM, DoY, HoD, WoM, WoY;

// CalendarクラスのインスタンスCの宣言
    GregorianCalendar C = new GregorianCalendar();

    DoW = C.get(C.DAY_OF_WEEK);   // 今日が週の何日目かを取得
    DoM = C.get(C.DAY_OF_MONTH);  // 今日が月の何日目かを取得
    DoY = C.get(C.DAY_OF_YEAR);   // 今日が年の何日目かを取得
    HoD = C.get(C.HOUR_OF_DAY);   // 今、今日の何時かを取得
    WoM = C.get(C.WEEK_OF_MONTH); // 今週が月の何週目かを取得
    WoY = C.get(C.WEEK_OF_YEAR);  // 今週が年の何週目かを取得

// 日付と時間の表示
    System.out.println("今日は週の " + DoW + " 日目です。");
    System.out.println("今日は月の " + DoM + " 日目です。");
    System.out.println("今日は年の " + DoY + " 日目です。");
    System.out.println("今、" + HoD + " 時です。");
    System.out.println("今週は月の" + WoM + " 週目です。");
    System.out.println("今週は年の" + WoY + "週目です。");
  }
}

例題3 年、月、週の情報取得

次のプログラムは年月日の最大値を取得し、表示するものです。

getMaximunという定数を使って情報を得ます。

// 年月日の最大値情報
import java.util.*;

class Ex_GreCalendar_03 {
  public static void main(String args[]){

// 週数を記憶する変数の宣言
    int MY, MW;

// CalendarクラスのインスタンスCの宣言
    GregorianCalendar C = new GregorianCalendar();

    MY = C.getMaximum(C.DAY_OF_YEAR);   // 今年の日数を取得
    MW = C.getMaximum(C.WEEK_OF_YEAR);  // 今年の週数を取得

// 結果表示
    System.out.println("今年は " + MY + " 日あります。");
    System.out.println("今年は " + MW + " 週あります。");
  }
}

例題4 閏年の判定

次のプログラムは閏年を判定するものです。

閏年の判定にはisLeapYear()というメソッドを使います。

// 閏年の確認
import java.util.*;

class Ex_GreCalendar_04 {
  public static void main(String args[]){
    boolean BY;

// CalendarクラスのインスタンスCの宣言
    GregorianCalendar C = new GregorianCalendar();

// 閏年の取得
    BY = C.isLeapYear(C.YEAR);

// 結果表示
    if(BY){
      System.out.println("今年は閏年です。");
    } else {
      System.out.println("今年はふつうの年です。");
    }
  }
}