全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.util.GregorianCalendar

java.lang.Object
   |
   +----java.util.Calendar
           |
           +----java.util.GregorianCalendar

public class GregorianCalendar
extends Calendar
GregorianCalendarは、Calendarの concreteサブクラスで、世界で一般に使われている標準カレンダです。

標準 (グレゴリア) カレンダには、 BC と ADという 2つの年号があります。

この実装では、1つの不連続を処理します。この不連続は、デフォルト値により、グレゴリア暦が制定された日(一部の国では 1582年10月15日、その他の国ではそれ以後)に対応しています。この切換え日は、呼び出し側で変更することができます。

グレゴリア暦の制定より前は、元日は 3月25日でした。混乱を避けるために、このカレンダでは常に 1月1日を使います。必要なら、グレゴリア暦より前の日付に対し、1月1日から 3月24日の間の日に調整することができます。

例:

 	// get the supported ids for GMT-08:00 (Pacific Standard Time)
 String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
 	// if no ids were returned, something is wrong. get out.
 if (ids.length == 0)
     System.exit(0);
 	// begin output
 System.out.println("Current Time");
 	// create a Pacific Standard Time time zone
 SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
 	// set up rules for daylight savings time
 pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
 pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
 	// create a GregorianCalendar with the Pacific Daylight time zone
	// and the current date and time
 Calendar calendar = new GregorianCalendar(pdt);
 Date trialTime = new Date();
 calendar.setTime(trialTime);
	// print out a bunch of interesting things
 System.out.println("ERA: " + calendar.get(Calendar.ERA));
 System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
 System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
 System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
 System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
 System.out.println("DATE: " + calendar.get(Calendar.DATE));
 System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
 System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
 System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
 System.out.println("DAY_OF_WEEK_IN_MONTH: "
                    + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
 System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
 System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
 System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
 System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
 System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
 System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
 System.out.println("ZONE_OFFSET: "
                    + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
 System.out.println("DST_OFFSET: "
                    + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
 System.out.println("Current Time, with hour reset to 3");
 calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
 calendar.set(Calendar.HOUR, 3);
 System.out.println("ERA: " + calendar.get(Calendar.ERA));
 System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
 System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
 System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
 System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
 System.out.println("DATE: " + calendar.get(Calendar.DATE));
 System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
 System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
 System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
 System.out.println("DAY_OF_WEEK_IN_MONTH: "
                    + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
 System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
 System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
 System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
 System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
 System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
 System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
 System.out.println("ZONE_OFFSET: "
        + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
 System.out.println("DST_OFFSET: "
        + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours
 

参照:
Calendar, TimeZone

Variable Index

 o AD
GregorianCalendarで使用する定数。
 o BC
GregorianCalendarで使用する定数。

Constructor Index

 o GregorianCalendar()
デフォルトロケールでデフォルトタイムゾーンの現在時刻を使ってデフォルトの GregorianCalendarを構築する。
 o GregorianCalendar(int, int, int)
デフォルトロケールでデフォルトタイムゾーンの指定された時刻を使って GregorianCalendarを構築する。
 o GregorianCalendar(int, int, int, int, int)
デフォルトロケールでデフォルトタイムゾーンの指定された日付と時刻を使って GregorianCalendarを構築する。
 o GregorianCalendar(int, int, int, int, int, int)
デフォルトロケールでデフォルトタイムゾーンの指定された日付と時刻を使って GregorianCalendarを構築する。
 o GregorianCalendar(Locale)
指定されたロケールでデフォルトタイムゾーンの現在時刻に基づいて GregorianCalendarを構築する。
 o GregorianCalendar(TimeZone)
指定されたロケールで指定されたタイムゾーンの現在時刻に基づいて GregorianCalendarを構築する。
 o GregorianCalendar(TimeZone, Locale)
指定されたロケールで指定されたタイムゾーンの現在時刻に基づいて GregorianCalendarを構築する。

Method Index

 o add(int, int)
Calendar Date 計算機能をオーバーライドする。
 o after(Object)
Calendar の時間フィールドレコードの比較機能をオーバーライドする。
 o before(Object)
Calendar の時間フィールドレコードの比較機能をオーバーライドする。
 o clone()
Cloneable をオーバーライドする。
 o computeFields()
Calendar の UTC ミリ秒から時間フィールド値への変換機能をオーバーライドする。
 o computeTime()
Calendar の 時間フィールド値から UTCミリ秒への変換機能をオーバーライドする。
 o equals(Object)
Calendar の時間フィールドレコードの比較機能をオーバーライドする。
 o getGreatestMinimum(int)
指定されたフィールドの最小値が変わる場合、その最大値を返す。
 o getGregorianChange()
Gregorian Calendar の変更日付を入手する。
 o getLeastMaximum(int)
指定されたフィールドの最大値が変わる場合、その最小値を返す。
 o getMaximum(int)
指定されたフィールドの最大値を返す。
 o getMinimum(int)
指定されたフィールドの最小値を返す。
 o hashCode()
hashCode をオーバーライドする。
 o isLeapYear(int)
指定された年がうるう年がどうかを判別する。
 o roll(int, boolean)
Calendar の時間フィールドのローリング機能をオーバーライドする。
 o setGregorianChange(Date)
GregorianCalendar の変更日付を設定する。

Variables

 o BC
 public static final int BC
GregorianCalendarで使用する定数。

 o AD
 public static final int AD
GregorianCalendarで使用する定数。

Constructors

 o GregorianCalendar
  public GregorianCalendar()
デフォルトロケールでデフォルトタイムゾーンの現在時刻を使ってデフォルトの GregorianCalendarを構築します。

 o GregorianCalendar
  public GregorianCalendar(TimeZone zone)
デフォルトロケールで指定されたタイムゾーンの現在時刻に基づいて GregorianCalendarを構築します。

パラメータ:
zone - 指定するタイムゾーン。
 o GregorianCalendar
  public GregorianCalendar(Locale aLocale)
指定されたロケールでデフォルトタイムゾーンの現在時刻に基づいて GregorianCalendarを構築します。

パラメータ:
aLocale - 指定するロケール。
 o GregorianCalendar
  public GregorianCalendar(TimeZone zone,
                           Locale aLocale)
指定されたロケールで指定されたタイムゾーンの現在時刻に基づいて GregorianCalendarを構築します。

パラメータ:
zone - 指定するタイムゾーン。
aLocale - 指定するロケール。
 o GregorianCalendar
  public GregorianCalendar(int year,
                           int month,
                           int date)
デフォルトロケールでデフォルトタイムゾーンの指定された日付に基づいて GregorianCalendarを構築します。

パラメータ:
year - カレンダの YEAR 時間フィールドに設定する値。
month - カレンダの MONTH 時間フィールドに設定する値。 month 値は 0 から始まる。(例: 0 は 1月)
date - カレンダの DATE 時間フィールドに設定する値。
 o GregorianCalendar
  public GregorianCalendar(int year,
                           int month,
                           int date,
                           int hour,
                           int minute)
デフォルトロケールでデフォルトタイムゾーンの指定された日付と時刻に基づいて GregorianCalendarを構築します。

パラメータ:
year - カレンダの YEAR 時間フィールドに設定する値。
month - カレンダの MONTH 時間フィールドに設定する値。 month 値は 0 から始まる(例: 0 は 1月)
date - カレンダの DATE 時間フィールドに設定する値。
hour - カレンダの HOUR_OF_DAY 時間フィールドに設定する値。
minute - カレンダの MINUTE 時間フィールドに設定する値。
 o GregorianCalendar
  public GregorianCalendar(int year,
                           int month,
                           int date,
                           int hour,
                           int minute,
                           int second)
デフォルトロケールでデフォルトタイムゾーンの指定された日付と時刻に基づいて GregorianCalendarを構築します。

パラメータ:
year - カレンダの YEAR 時間フィールドに設定する値。
month - カレンダの MONTH 時間フィールドに設定する値。 month 値は 0 から始まる(例: 0 は 1月)
date - カレンダの DATE 時間フィールドに設定する値。
hour - カレンダの HOUR_OF_DAY 時間フィールドに設定する値。
minute - カレンダの MINUTE 時間フィールドに設定する値。
second - カレンダの SECOND 時間フィールドに設定する値。

Methods

 o setGregorianChange
  public void setGregorianChange(Date date)
GregorianCalendar の変更日付を設定します。これは、ユリウス日付からグレゴリア日付に変わった時点です。デフォルト値は、1582年10月15日 00:00:00 ローカル時間です。これより前の時間と日付はユリウス日付です。

パラメータ:
date - グレゴリアへの変更日付。
 o getGregorianChange
  public final Date getGregorianChange()
GregorianCalendar の変更日付を入手します。これは、ユリウス日付からグレゴリア日付に変わった時点です。デフォルト値は、1582年10月15日 00:00:00 ローカル時間です。これより前の時間と日付はユリウス日付です。

返り値:
このカレンダに対するグレゴリアへの変更時点。
 o isLeapYear
  public boolean isLeapYear(int year)
指定された年が、うるう年かどうかを判別します。指定された年がうるう年であれば、true が返されます。

パラメータ:
year - 指定する年。
返り値:
指定された年が、うるう年であれば、true、そうでなければ、false。
 o computeFields
  protected void computeFields()
Calendar の UTC ミリ秒から時間フィールド値への変換機能をオーバーライドします。

オーバーライド:
クラス CalendarcomputeFields
 o computeTime
  protected void computeTime()
Calendar の時間フィールド値から UTCミリ秒への変換機能をオーバーライドします。

例外: IllegalArgumentException
認識できないフィールドが指定された場合.
オーバーライド:
クラス CalendarcomputeTime
 o clone
  public Object clone()
Cloneable をオーバーライドします。

オーバーライド:
クラス Calendarclone
 o hashCode
  public synchronized int hashCode()
hashCode をオーバーライドします。GregorianCalendar オブジェクトのハッシュコードを生成します。

オーバーライド:
クラス ObjecthashCode
 o equals
  public boolean equals(Object obj)
Calendar の時間フィールドレコードの比較機能をオーバーライドします。UTCへの変換結果を比較するのと同じことです。パラメータと返り値の説明については、Calendar.equalsを参照してください。

オーバーライド:
クラス Calendarequals
 o before
  public boolean before(Object when)
Calendar の時間フィールドレコードの比較機能をオーバーライドします。UTCへの変換結果を比較するのと同じことです。パラメータと返り値の説明については、Calendar.beforeを参照してください。

オーバーライド:
クラス Calendarbefore
 o after
  public boolean after(Object when)
Calendar の時間フィールドレコードの比較機能をオーバーライドします。UTCへの変換結果を比較するのと同じことです。パラメータと返り値の説明については、Calendar.afterを参照してください。

オーバーライド:
クラス Calendarafter
 o add
  public void add(int field,
                  int amount)
Calendar の Date 計算機能をオーバーライドします。カレンダのルールに基づいて、指定された(符号付きの)時間量を、指定された時間フィールドに加えます。

パラメータ:
field - 時間フィールド。
amount - このフィールドに加える日付または時間の量。
例外: IllegalArgumentException
認識できないフィールドが指定された場合。
オーバーライド:
クラス Calendaradd
 o roll
  public void roll(int field,
                   boolean up)
Calendar の時間フィールドのローリング機能をオーバーライドします。指定された時間フィールドの単一単位の時間を(上または下へ)動かします。

パラメータ:
field - 時間フィールド。
up - このフィールド値を上へ動かすか、下へ動かすかを指定する。
例外: IllegalArgumentException
認識できないフィールドが指定された場合。
オーバーライド:
クラス Calendarroll
 o getMinimum
  public int getMinimum(int field)
指定されたフィールドの最小値(たとえば、グレゴリア暦の DAY_OF_MONTHでは、1)を返します。パラメータと返り値の説明は、Calendar.getMinimumを参照してください。

オーバーライド:
クラス CalendargetMinimum
 o getMaximum
  public int getMaximum(int field)
指定されたフィールドの最大値(たとえば、グレゴリア暦の DAY_OF_MONTHでは、31)を返します。パラメータと返り値の説明は、Calendar.getMaximumを参照してください。

オーバーライド:
クラス CalendargetMaximum
 o getGreatestMinimum
  public int getGreatestMinimum(int field)
指定されたフィールドが変化する場合、その最大値を返します。それらが同じ場合は、getMinimum()と同じです。グレゴリア暦では、それらは同じです。パラメータと返り値の説明は、Calendar.getGreatestMinimumを参照してください。

オーバーライド:
クラス CalendargetGreatestMinimum
 o getLeastMaximum
  public int getLeastMaximum(int field)
指定するフィールドが変化する場合、その最小値を返します。それらが同じ場合は、getMaximum()と同じです。グレゴリア暦の DAY_OF_MONTHでは、28です。パラメータと返り値の説明は、Calendar.getGreatestMaxiimumを参照してください。

オーバーライド:
クラス CalendargetLeastMaximum

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス