public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>
Calendarクラスは、特定のインスタントとYEAR、MONTH、DAY_OF_MONTH、HOURなどのcalendar fieldsセット間の変換、および次週の日付の取得などのカレンダ・フィールド操作を行うための抽象クラスです。 特定のインスタントは、1970年1月1日00:00:00.000 GMT (グレゴリオ暦)を元期とするミリ秒単位のオフセットで表現できます。
このクラスは、パッケージ外部の具象暦体系を実装するための追加メソッドおよびフィールドも提供します。 これらのフィールドおよびメソッドは、protectedとして定義されます。
ロケールに依存するほかのクラスと同じように、Calendarでは、この種の一般に役立つオブジェクトを得るためのクラス・メソッドgetInstanceが提供されます。 CalendarのgetInstanceメソッドは、Calendarオブジェクトを返しますが、このカレンダ・フィールドは現在の日付と時間に初期化されています。
Calendar rightNow = Calendar.getInstance();
Calendarオブジェクトでは、特定の言語およびカレンダ・スタイル(日本のグレゴリオ暦、日本の旧暦など)に対して、日付と時間のフォーマットを行うときに必要なすべての時間フィールド値を生成できます。 Calendarでは、特定のフィールドとその意味の両方によって返される値の範囲が定義されます。 たとえば、暦体系の最初の月には、すべてのカレンダについて値MONTH == JANUARYがあります。 ほかの値は、ERAなどの具象サブクラスで定義されます。 詳細は、個別のフィールド・ドキュメントおよびサブクラス・ドキュメントを参照してください。
カレンダ・フィールド値は、setメソッドを呼び出して設定できます。 Calendar内で設定されたフィールド値はすべて、その時間値(「元期」からのミリ秒)またはカレンダ・フィールドの値を計算する必要が生じるまで解釈されません。 get、getTimeInMillis、getTime、add、およびrollの呼出しでは、この種の計算が行われます。
Calendarは、カレンダ・フィールドを解釈する際、厳密および非厳密の2つのモードを使用します。 非厳密モードの場合、Calendarはそれ自身が生成する値よりも広範なカレンダ・フィールド値を受け入れます。 Calendarが、get()の値を返すためにカレンダ・フィールド値を再計算する際、すべてのカレンダ・フィールドが正規化されます。 たとえば、非厳密なGregorianCalendarは、MONTH == JANUARY、DAY_OF_MONTH == 32を2月1日として解釈します。
厳密モードの場合、カレンダ・フィールド内に不一致があると、Calendarは例外をスローします。 たとえば、GregorianCalendarは、DAY_OF_MONTH値として1とその月の長さの間の値を常に生成します。 厳密なGregorianCalendarは、時間およびカレンダ・フィールド値を計算する際、範囲外のフィールド値が設定されていると例外をスローします。
Calendar週の最初の日および最初の週の最小日数(1から7)という2つのパラメータを使用して、ロケール固有の週7日が定義されます。 これらの数は、Calendarが構築されるときにロケール・リソース・データから取得されます。 また、これらの値の設定用メソッドによって明示的に指定されることもあります。
WEEK_OF_MONTHフィールドやWEEK_OF_YEARフィールドを設定または取得すると、Calendarでは月または年の最初の週を参照点として決定する必要があります。 月または年の最初の週は、getFirstDayOfWeek()で始まり、その月または年の少なくともgetMinimalDaysInFirstWeek()の日数を含む、もっとも早い7日間として定義されます。 ...、-1、0という番号が付けられた週は最初の週より前にあります。2、3、...という番号が付けられた週はそれより後ろにあります。 get()によって返される正規化された番号付けとは、異なる場合があります。 たとえば、特定のCalendarサブクラスでは、1年の週1の前の週を、前年の週nとして指定することがあります。
Calendarは、次の方法でカレンダ・フィールド値を解決し、日付および時間を判定します。
カレンダ・フィールドの値に競合がある場合は、Calendarにより、最近設定されたカレンダ・フィールドに優先度が付与されます。 次に、カレンダ・フィールドのデフォルト組合せを示します。 もっとも最近に設定されたフィールドによって判定される、最新の組み合わせが使用されます。
時間フィールドの場合:YEAR + MONTH + DAY_OF_MONTH YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK YEAR + DAY_OF_YEAR YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
HOUR_OF_DAY AM_PM + HOUR
選択したフィールドの組み合わせで値が設定されていないカレンダ・フィールドが存在する場合、Calendarはデフォルト値を使用します。 各フィールドのデフォルト値は、具象暦体系により異なります。 GregorianCalendarの場合、フィールドのデフォルト値は、その元期の初めの値です。つまり、YEAR = 1970、MONTH = JANUARY、DAY_OF_MONTH = 1などです。
ノート: 一部の特別な時間では、その解釈があいまいになることもあります。その場合は、次のように解決されます。
日付や時間のフォーマット文字列は、カレンダの定義の一部ではありません。これらが実行時にユーザーによって修正可能で、オーバーライド可能である必要があるためです。 日付の書式設定には、DateFormatを使用してください。
set()、add()、およびroll()。
set(f, value)では、カレンダ・フィールドfがvalueに変更されます。 さらに、カレンダ・フィールドfが変更されたことを示すように内部メンバー変数が設定されます。 カレンダ・フィールドfはただちに変更されますが、カレンダの時間値(ミリ秒)は、get()、getTime()、getTimeInMillis()、add()、またはroll()が次に呼び出されるまで再計算されません。 このように、set()を複数回呼び出しても、不要な計算が行われることはありません。 set()を使用してカレンダ・フィールドを変更すると、カレンダ・フィールド、カレンダ・フィールド値、および暦体系によってほかのフィールドも変更されることがあります。 さらに、get(f)では、カレンダ・フィールドの再計算後に、setメソッドを呼び出して設定されたvalueが必ず返されるとは限りません。 これらの詳細は、具象カレンダ・クラスによって決定されます。
例: 最初に1999年8月31日に設定されたGregorianCalendarを考えます。 set(Calendar.MONTH, Calendar.SEPTEMBER)を呼び出すと、日付が1999年9月31日に設定されます。 これは一時的な内部表現であり、getTime()を呼び出すと1999年10月1日になります。 ただし、getTime()を呼び出す前にset(Calendar.DAY_OF_MONTH, 30)を呼び出すと、set()自体のあとに再計算が行われるために、日付が1999年9月30日に設定されます。
add(f, delta)では、フィールドfにdeltaが追加されます。 これは、2つの調整によってset(f, get(f)+delta)を呼び出すのと同じです。
Addルール1。 呼出しがフィールド
fで発生したモジュロ・オーバーフローdeltaになる前に、呼出しでフィールドfの値を引いたあとのフィールドfの値です。 オーバーフローは、フィールドの値が範囲を超え、その結果、次の大きいフィールドが増分または減分されて、フィールドの値がその範囲に入るよう調整された場合に発生します。Addルール2。 小さいフィールドが不変式であると予想される場合に、フィールド
fが変更されてから最小値または最大値が変更された、またはタイムゾーン・オフセットの変更などのほかの制約のために、その前の値と等しくならないと、フィールドの値はその予想される値にできるだけ近くなるように調整されます。 小さいフィールドは、小さい時間の単位を表します。HOURはDAY_OF_MONTHよりも小さいフィールドです。 不変式ではないと予想される小さいフィールドは、調整されません。 暦体系では、不変式であると予想されるフィールドが判断されます。
さらに、set()とは異なり、add()ではカレンダのミリ秒およびすべてのフィールドがただちに強制的に再計算されます。
例: 最初に1999年8月31日に設定されたGregorianCalendarを考えます。 add(Calendar.MONTH, 13)を呼び出すと、カレンダが2000年9月30日に設定されます。 8月に13か月を追加すると翌年の9月になるため、Addルール1によってMONTHフィールドが9月に設定されます。 DAY_OF_MONTHはGregorianCalendarでは9月の31日にはできないため、Addルール2によってDAY_OF_MONTHがもっとも近い可能な値の30に設定されます。 これは小さいフィールドですが、GregorianCalendarで月が変更されるときに変更が予定されているため、DAY_OF_WEEKはルール2によっては調整されません。
roll(f, delta)では、大きいフィールドを変更せずにフィールドfにdeltaが追加されます。 これは、以下の調整によってadd(f, delta)を呼び出すのと同じです。
Rollルール。 呼出しのあと、大きいフィールドは変更されません。 大きいフィールドは、大きい時間の単位を表します。
DAY_OF_MONTHはHOURよりも大きいフィールドです。
例: GregorianCalendar.roll(int, int)を参照してください。
使用法モデル。 add()およびroll()の動作を動機付けするために、月、日、年、および基本となるGregorianCalendarの増分ボタンと減分ボタンがあるユーザー・インタフェース・コンポーネントを考えます。 インタフェースで1999年1月31日が読み込まれ、ユーザーが月増分ボタンを押すと、何が読み込まれるでしょうか。 基本となる実装でset()が使用される場合は、1999年3月3日が読み込まれます。 1999年2月28日となる方がよい結果です。 さらに、ユーザーが月増分ボタンを再度押した場合は、1999年3月28日ではなく、1999年3月31日が読み込まれるはずです。 元の日付を保存し、大きいフィールドが影響を受けるかどうかによってadd()またはroll()を使用することで、ユーザー・インタフェースはほとんどのユーザーが直観的に期待するとおりに動作できます。
System.currentTimeMillis(), Date, GregorianCalendar, TimeZone, DateFormat, 直列化された形式| 修飾子と型 | クラス | 説明 |
|---|---|---|
static class |
Calendar.Builder |
Calendar.Builderは、各種の日付/時間パラメータからCalendarを作成するために使用されます。 |
| 修飾子と型 | フィールド | 説明 |
|---|---|---|
static int |
ALL_STYLES |
「January」や「Jan」などのすべてのスタイルで名前を示す、
getDisplayNamesのスタイル指示子です。 |
static int |
AM |
深夜零時から正午の前までの時間を示す
AM_PMフィールドの値です。 |
static int |
AM_PM |
getおよびsetのためのフィールド値で、HOURが正午より前であるかあとであるかを示します。 |
static int |
APRIL |
グレゴリオ暦とユリウス暦の年の4番目の月を示す
MONTHフィールドの値です。 |
protected boolean |
areFieldsSet |
fields[]が現在設定されている時間と同期をとっている場合はtrueです。 |
static int |
AUGUST |
グレゴリオ暦とユリウス暦の年の8番目の月を示す
MONTHフィールドの値です。 |
static int |
DATE |
getおよびsetのためのフィールド値で、月の日を示します。 |
static int |
DAY_OF_MONTH |
getおよびsetのためのフィールド値で、月の日を示します。 |
static int |
DAY_OF_WEEK |
getおよびsetのためのフィールド値で、曜日を示します。 |
static int |
DAY_OF_WEEK_IN_MONTH |
getおよびsetのためのフィールド値で、現在の月の何度目の曜日かを示します。 |
static int |
DAY_OF_YEAR |
getおよびsetのためのフィールド値で、現在の年の何日目かを示します。 |
static int |
DECEMBER |
グレゴリオ暦とユリウス暦の年の12番目の月を示す
MONTHフィールドの値です。 |
static int |
DST_OFFSET |
getおよびsetのためのフィールド値で、夏時間のオフセットをミリ秒単位で示します。 |
static int |
ERA |
getおよびsetのためのフィールド値で、ユリウス暦のADまたはBCなどの年代を示します。 |
static int |
FEBRUARY |
グレゴリオ暦とユリウス暦の年の2番目の月を示す
MONTHフィールドの値です。 |
static int |
FIELD_COUNT |
getおよびsetによって認識される重複しないフィールドの数です。 |
protected int[] |
fields |
このカレンダで現在設定されている時間に対するカレンダ・フィールド値です。
|
static int |
FRIDAY |
金曜日を示す
DAY_OF_WEEKフィールドの値です。 |
static int |
HOUR |
getおよびsetのためのフィールド値で、午前または午後の何時かを示します。 |
static int |
HOUR_OF_DAY |
getおよびsetのためのフィールド値で、時間を示します。 |
protected boolean[] |
isSet |
指定されたカレンダ・フィールドがカレンダで設定されているかどうかを示すフラグです。
|
protected boolean |
isTimeSet |
timeの値が有効である場合はtrueです。 |
static int |
JANUARY |
グレゴリオ暦とユリウス暦の年の最初の月を示す
MONTHフィールドの値です。 |
static int |
JULY |
グレゴリオ暦とユリウス暦の年の7番目の月を示す
MONTHフィールドの値です。 |
static int |
JUNE |
グレゴリオ暦とユリウス暦の年の6番目の月を示す
MONTHフィールドの値です。 |
static int |
LONG |
LONG_FORMATと同等の、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。 |
static int |
LONG_FORMAT |
フォーマットに使用される長い名前を示す、
getDisplayNameおよびgetDisplayNamesのスタイル指示子です。 |
static int |
LONG_STANDALONE |
独立して使用される長い名前(カレンダ・ヘッダーとしての月の名前など)を示す
getDisplayNameおよびgetDisplayNamesのスタイル指定子です。 |
static int |
MARCH |
グレゴリオ暦とユリウス暦の年の3番目の月を示す
MONTHフィールドの値です。 |
static int |
MAY |
グレゴリオ暦とユリウス暦の年の5番目の月を示す
MONTHフィールドの値です。 |
static int |
MILLISECOND |
getおよびsetのためのフィールド値で、ミリ秒を示します。 |
static int |
MINUTE |
getおよびsetのためのフィールド値で、分を示します。 |
static int |
MONDAY |
月曜日を示す
DAY_OF_WEEKフィールドの値です。 |
static int |
MONTH |
getおよびsetのためのフィールド値で、月を示します。 |
static int |
NARROW_FORMAT |
フォーマットに使用される縮小名を示す
getDisplayNameおよびgetDisplayNamesのスタイル指示子です。 |
static int |
NARROW_STANDALONE |
独立して使用される縮小名を示す
getDisplayNameおよびgetDisplayNamesのスタイル指示子です。 |
static int |
NOVEMBER |
グレゴリオ暦とユリウス暦の年の11番目の月を示す
MONTHフィールドの値です。 |
static int |
OCTOBER |
グレゴリオ暦とユリウス暦の年の10番目の月を示す
MONTHフィールドの値です。 |
static int |
PM |
正午から深夜零時の前までの時間を示す
AM_PMフィールドの値です。 |
static int |
SATURDAY |
土曜日を示す
DAY_OF_WEEKフィールドの値です。 |
static int |
SECOND |
getおよびsetのためのフィールド値で、秒を示します。 |
static int |
SEPTEMBER |
グレゴリオ暦とユリウス暦の年の9番目の月を示す
MONTHフィールドの値です。 |
static int |
SHORT |
SHORT_FORMATと同等の、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。 |
static int |
SHORT_FORMAT |
フォーマットに使用される短い名前を示す
getDisplayNameおよびgetDisplayNamesのスタイル指示子です。 |
static int |
SHORT_STANDALONE |
独立して使用される短い名前(月の略称やカレンダ・ヘッダーなど)を示す
getDisplayNameおよびgetDisplayNamesのスタイル指定子です。 |
static int |
SUNDAY |
日曜日を示す
DAY_OF_WEEKフィールドの値です。 |
static int |
THURSDAY |
木曜日を示す
DAY_OF_WEEKフィールドの値です。 |
protected long |
time |
このカレンダで現在設定されている時間です。1970年1月1日0:00:00 (グリニッジ標準時)からの経過ミリ秒数で表されます。
|
static int |
TUESDAY |
火曜日を示す
DAY_OF_WEEKフィールドの値です。 |
static int |
UNDECIMBER |
13番目の月を示す
MONTHフィールドの値です。 |
static int |
WEDNESDAY |
水曜日を示す
DAY_OF_WEEKフィールドの値です。 |
static int |
WEEK_OF_MONTH |
getおよびsetのためのフィールド値で、現在の月の週番号を示します。 |
static int |
WEEK_OF_YEAR |
getおよびsetのためのフィールド値で、現在の年の週番号を示します。 |
static int |
YEAR |
getおよびsetのためのフィールド値で、年を示します。 |
static int |
ZONE_OFFSET |
getおよびsetのためのフィールド値で、GMTから直接計算したオフセットをミリ秒単位で示します。 |
| 修飾子 | コンストラクタ | 説明 |
|---|---|---|
protected |
Calendar() |
デフォルトのタイムゾーンおよびデフォルトの
FORMATロケールを使用してCalendarを作成します。 |
protected |
Calendar(TimeZone zone, Locale aLocale) |
指定されたタイムゾーンおよびロケールを使用してカレンダを作成します。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
abstract void |
add(int field, int amount) |
カレンダのルールに基づいて、指定された時間量を指定されたカレンダ・フィールドに加算または減算します。
|
boolean |
after(Object when) |
この
Calendarが、指定されたObjectの表す時間よりあとの時間を表すかどうかを返します。 |
boolean |
before(Object when) |
この
Calendarが、指定されたObjectの表す時間より前の時間を表すかどうかを返します。 |
void |
clear() |
この
Calendarのすべてのカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。 |
void |
clear(int field) |
この
Calendarの指定されたカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。 |
Object |
clone() |
このオブジェクトのコピーを作成して、返します。
|
int |
compareTo(Calendar anotherCalendar) |
2つの
Calendarオブジェクトで表される時間値(元期からのミリ秒単位のオフセット)を比較します。 |
protected void |
complete() |
カレンダ・フィールドの未設定フィールドに値を入れます。
|
protected abstract void |
computeFields() |
|
protected abstract void |
computeTime() |
|
boolean |
equals(Object obj) |
この
Calendarを指定されたObjectと比較します。 |
int |
get(int field) |
指定されたカレンダ・フィールドの値を返します。
|
int |
getActualMaximum(int field) |
この
Calendarに時間値を指定して、指定のカレンダ・フィールドが取り得る最大値を返します。 |
int |
getActualMinimum(int field) |
この
Calendarに時間値を指定した、指定のカレンダ・フィールドが取り得る最小値を返します。 |
static Set<String> |
getAvailableCalendarTypes() |
実行環境で
Calendarによってサポートされるすべてのカレンダ・タイプを含む変更不可能なSetを返します。 |
static Locale[] |
getAvailableLocales() |
このクラスの
getInstanceメソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。 |
String |
getCalendarType() |
この
Calendarのカレンダ・タイプを返します。 |
String |
getDisplayName(int field, int style, Locale locale) |
指定された
styleとlocaleのカレンダfield値の文字列表現を返します。 |
Map<String,Integer> |
getDisplayNames(int field, int style, Locale locale) |
指定された
styleおよびlocaleのカレンダfieldのすべての名前と、それに対応するフィールド値を含むMapを返します。 |
int |
getFirstDayOfWeek() |
週の最初の曜日が何であるかを取得します。たとえば、米国では
SUNDAY、フランスではMONDAYです。 |
abstract int |
getGreatestMinimum(int field) |
この
Calendarインスタンスで指定されたカレンダ・フィールドの最大最小値を返します。 |
static Calendar |
getInstance() |
デフォルトのタイムゾーンおよびロケールを使用してカレンダを取得します。
|
static Calendar |
getInstance(Locale aLocale) |
デフォルトのタイムゾーンおよび指定されたロケールを使用してカレンダを取得します。
|
static Calendar |
getInstance(TimeZone zone) |
指定されたタイムゾーンおよびデフォルトのロケールを使用してカレンダを取得します。
|
static Calendar |
getInstance(TimeZone zone, Locale aLocale) |
指定されたタイムゾーンおよびロケールを使用してカレンダを取得します。
|
abstract int |
getLeastMaximum(int field) |
この
Calendarインスタンスで指定されたカレンダ・フィールドの最小最大値を返します。 |
abstract int |
getMaximum(int field) |
この
Calendarインスタンスで指定されたカレンダ・フィールドの最大値を返します。 |
int |
getMinimalDaysInFirstWeek() |
年の最初の週に必要な最小日数を取得します。たとえば、最初の週が、年の第1週の1日目を含むものとして定義されている場合、このメソッドは1を返します。
|
abstract int |
getMinimum(int field) |
この
Calendarインスタンスで指定されたカレンダ・フィールドの最小値を返します。 |
Date |
getTime() |
この
Calendarの時間値(元期からのミリ秒単位のオフセット)を表すDateオブジェクトを返します。 |
long |
getTimeInMillis() |
このCalendarの時間値をミリ秒で返します。
|
TimeZone |
getTimeZone() |
タイムゾーンを取得します。
|
int |
getWeeksInWeekYear() |
この
Calendarで表される暦週の基準年に含まれる週数を返します。 |
int |
getWeekYear() |
この
Calendarで表される暦週の基準年を返します。 |
int |
hashCode() |
このカレンダのハッシュ・コードを返します。
|
protected int |
internalGet(int field) |
指定されたカレンダ・フィールドの値を返します。
|
boolean |
isLenient() |
日付/時間の解釈が厳密でないかどうかを指定します。
|
boolean |
isSet(int field) |
指定されたカレンダ・フィールドが値セットを保持するかどうかを判定します(
getメソッド呼出しでトリガーされる内部フィールド計算によって値が設定された場合を含む)。 |
boolean |
isWeekDateSupported() |
この
Calendarが暦週日付をサポートしているかどうかを返します。 |
abstract void |
roll(int field, boolean up) |
大きいフィールドを変更せずに指定された時間フィールドの1つの単位の時間を上または下に加算または減算します。
|
void |
roll(int field, int amount) |
大きいフィールドを変更せずに、指定された(符号付きの)量を指定されたカレンダ・フィールドに加えます。
|
void |
set(int field, int value) |
指定されたカレンダ・フィールドを指定された値に設定します。
|
void |
set(int year, int month, int date) |
カレンダ・フィールド
YEAR、MONTH、およびDAY_OF_MONTHの値を設定します。 |
void |
set(int year, int month, int date, int hourOfDay, int minute) |
カレンダ・フィールド
YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、およびMINUTEの値を設定します。 |
void |
set(int year, int month, int date, int hourOfDay, int minute, int second) |
フィールド
YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、MINUTEおよびSECONDの値を設定します。 |
void |
setFirstDayOfWeek(int value) |
週の最初の曜日が何であるかを設定します。たとえば、米国では
SUNDAY、フランスではMONDAYです。 |
void |
setLenient(boolean lenient) |
日付/時間の解釈を厳密に行うかどうかを設定します。
|
void |
setMinimalDaysInFirstWeek(int value) |
年の最初の週に必要な最小日数を設定します。たとえば、最初の週が、年の最初の月の最初の日を含むものとして定義されている場合は、値1でこのメソッドを呼び出します。
|
void |
setTime(Date date) |
このCalendarの時間を、指定された
Dateに設定します。 |
void |
setTimeInMillis(long millis) |
Calendarの現在の時間を、指定されたlong値から設定します。
|
void |
setTimeZone(TimeZone value) |
指定されたタイムゾーン値を使用してタイムゾーンを設定します。
|
void |
setWeekDate(int weekYear, int weekOfYear, int dayOfWeek) |
この
Calendarの日付を指定された日付指示子 - 暦週の基準年、年の何週目かを表す値、および曜日で設定します。 |
Instant |
toInstant() |
このオブジェクトを
Instantに変換します。 |
String |
toString() |
カレンダの文字列表現を返します。
|
public static final int ERA
getおよびsetのためのフィールド値で、ユリウス暦のADまたはBCなどの年代を示します。 これはカレンダ固有の値です。サブクラスのドキュメントを参照してください。 public static final int YEAR
getおよびsetのためのフィールド値で、年を示します。 これはカレンダ固有の値です。サブクラスのドキュメントを参照してください。 public static final int MONTH
getおよびsetのためのフィールド値で、月を示します。 これはカレンダ固有の値です。 グレゴリオ暦とユリウス暦の年の最初の月はJANUARYで、0となります。最後の月は、1年の月の数によります。 public static final int WEEK_OF_YEAR
getおよびsetのためのフィールド値で、現在の年の週番号を示します。 getFirstDayOfWeek()およびgetMinimalDaysInFirstWeek()で定義される年の最初の週には、値1が使用されます。 サブクラスでは、年の最初の週より前の日に対してWEEK_OF_YEARの値が定義されます。 public static final int WEEK_OF_MONTH
getおよびsetのためのフィールド値で、現在の月の週番号を示します。 getFirstDayOfWeek()およびgetMinimalDaysInFirstWeek()で定義される月の最初の週には、値1が使用されます。 サブクラスでは、月の最初の週より前の日に対してWEEK_OF_MONTHの値が定義されます。 public static final int DATE
getおよびsetのためのフィールド値で、月の日を示します。 これはDAY_OF_MONTHと同義です。 月の最初の日には、値1が使用されます。 DAY_OF_MONTH, 定数フィールド値public static final int DAY_OF_MONTH
getおよびsetのためのフィールド値で、月の日を示します。 これはDATEと同義です。 月の最初の日には、値1が使用されます。 public static final int DAY_OF_YEAR
getおよびsetのためのフィールド値で、現在の年の何日目かを示します。 年の最初の日には、値1が使用されます。 public static final int DAY_OF_WEEK
getおよびsetのためのフィールド値で、曜日を示します。 このフィールドの値は、SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、およびSATURDAYになります。 public static final int DAY_OF_WEEK_IN_MONTH
getおよびsetのためのフィールド値で、現在の月の何度目の曜日かを示します。 DAY_OF_WEEKフィールドとともに使用すると、月の日を一意に指定できます。 WEEK_OF_MONTHおよびWEEK_OF_YEARとは異なり、このフィールドの値はgetFirstDayOfWeek()またはgetMinimalDaysInFirstWeek()には依存しません。 DAY_OF_MONTH 1から7は常にDAY_OF_WEEK_IN_MONTH 1に対応します。8から14はDAY_OF_WEEK_IN_MONTH 2に対応し、以下同様になります。 DAY_OF_WEEK_IN_MONTH 0は、DAY_OF_WEEK_IN_MONTH 1の前の週を示します。 負の値は月末から遡って数えられるため、月の最終日曜日は、DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1と指定されます。 負の値は遡って計算されるため、通常は当月内の正の値とは異なる位置に配置されます。 たとえば、1か月が31日の場合、DAY_OF_WEEK_IN_MONTH -1はDAY_OF_WEEK_IN_MONTH 5および4の最後とオーバーラップします。 DAY_OF_WEEK, WEEK_OF_MONTH, 定数フィールド値public static final int AM_PM
getおよびsetのためのフィールド値で、HOURが正午より前であるかあとであるかを示します。 たとえば、10:04:15.250 PMの場合、AM_PMはPMになります。 public static final int HOUR
getおよびsetのためのフィールド値で、午前または午後の何時かを示します。 HOURは12時間制(0から11)です。 正午および深夜零時は、12ではなく0で表されます。 たとえば、10:04:15.250 PMの場合、HOURは10になります。 AM_PM, HOUR_OF_DAY, 定数フィールド値public static final int HOUR_OF_DAY
getおよびsetのためのフィールド値で、時間を示します。 HOUR_OF_DAYは24時間制です。 たとえば、10:04:15.250 PMの場合、HOUR_OF_DAYは22になります。 public static final int MINUTE
getおよびsetのためのフィールド値で、分を示します。 たとえば、10:04:15.250 PMの場合、MINUTEは4になります。 public static final int SECOND
getおよびsetのためのフィールド値で、秒を示します。 たとえば、10:04:15.250 PMの場合、SECONDは15になります。 public static final int MILLISECOND
getおよびsetのためのフィールド値で、ミリ秒を示します。 たとえば、10:04:15.250 PMの場合、MILLISECONDは250になります。 public static final int ZONE_OFFSET
getおよびsetのためのフィールド値で、GMTから直接計算したオフセットをミリ秒単位で示します。
TimeZone実装サブクラスが、GMTオフセットの歴史的変化をサポートする場合、このフィールドはこのCalendarのタイムゾーンの正確なGMTオフセット値を反映します。
public static final int DST_OFFSET
getおよびsetのためのフィールド値で、夏時間のオフセットをミリ秒単位で示します。
TimeZone実装サブクラスが、夏時間のスケジュールの歴史的変化をサポートする場合、このフィールドはこのCalendarのタイムゾーンの正確な夏時間のオフセット値を反映します。
public static final int FIELD_COUNT
getおよびsetによって認識される重複しないフィールドの数です。 フィールド数の範囲は0..FIELD_COUNT-1です。 public static final int SUNDAY
DAY_OF_WEEKフィールドの値です。public static final int MONDAY
DAY_OF_WEEKフィールドの値です。public static final int TUESDAY
DAY_OF_WEEKフィールドの値です。public static final int WEDNESDAY
DAY_OF_WEEKフィールドの値です。public static final int THURSDAY
DAY_OF_WEEKフィールドの値です。public static final int FRIDAY
DAY_OF_WEEKフィールドの値です。public static final int SATURDAY
DAY_OF_WEEKフィールドの値です。public static final int UNDECIMBER
MONTHフィールドの値です。 GregorianCalendarではこの値は使いませんが、太陰暦で使用します。 public static final int ALL_STYLES
getDisplayNamesのスタイル指示子です。SHORT_FORMAT, LONG_FORMAT, SHORT_STANDALONE, LONG_STANDALONE, SHORT, LONG, 定数フィールド値public static final int SHORT
SHORT_FORMATと同等の、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。SHORT_STANDALONE, LONG, 定数フィールド値public static final int LONG
LONG_FORMATと同等の、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。LONG_STANDALONE, SHORT, 定数フィールド値public static final int NARROW_FORMAT
getDisplayNameおよびgetDisplayNamesのスタイル指示子です。 縮小名は通常、1文字からなる文字列です(月曜日を表す「M」など)。 NARROW_STANDALONE, SHORT_FORMAT, LONG_FORMAT, 定数フィールド値public static final int NARROW_STANDALONE
getDisplayNameおよびgetDisplayNamesのスタイル指示子です。 縮小名は通常、1文字からなる文字列です(月曜日を表す「M」など)。 NARROW_FORMAT, SHORT_STANDALONE, LONG_STANDALONE, 定数フィールド値public static final int SHORT_FORMAT
getDisplayNameおよびgetDisplayNamesのスタイル指示子です。SHORT_STANDALONE, LONG_FORMAT, LONG_STANDALONE, 定数フィールド値public static final int LONG_FORMAT
getDisplayNameおよびgetDisplayNamesのスタイル指示子です。LONG_STANDALONE, SHORT_FORMAT, SHORT_STANDALONE, 定数フィールド値public static final int SHORT_STANDALONE
getDisplayNameおよびgetDisplayNamesのスタイル指定子です。SHORT_FORMAT, LONG_FORMAT, LONG_STANDALONE, 定数フィールド値public static final int LONG_STANDALONE
getDisplayNameおよびgetDisplayNamesのスタイル指定子です。LONG_FORMAT, SHORT_FORMAT, SHORT_STANDALONE, 定数フィールド値protected int[] fields
ERAからDST_OFFSETまでの、FIELD_COUNT整数値の配列です。 protected boolean[] isSet
ERAからDST_OFFSETまでの、FIELD_COUNT boolean値の配列です。 protected long time
isTimeSetprotected boolean isTimeSet
timeの値が有効である場合はtrueです。 field[]の項目を変更することで、timeは無効になります。 timeprotected boolean areFieldsSet
fields[]が現在設定されている時間と同期をとっている場合はtrueです。 falseの場合は、次にフィールドの値を取得しようとしたときに、timeの現在値からすべてのフィールドを再計算するよう強制します。 protected Calendar()
FORMATロケールを使用してCalendarを作成します。TimeZone.getDefault()public static Calendar getInstance()
Calendarは、デフォルトのFORMATロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。 public static Calendar getInstance(TimeZone zone)
Calendarは、デフォルトのFORMATロケールを持つ指定されたタイムゾーンの現在の時間に基づいています。 zone - 使用するタイムゾーンpublic static Calendar getInstance(Locale aLocale)
Calendarは、指定されたロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。 aLocale - 週のデータに使用するロケールpublic static Calendar getInstance(TimeZone zone, Locale aLocale)
Calendarは、指定されたロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。 zone - 使用するタイムゾーンaLocale - 週のデータに使用するロケールpublic static Locale[] getAvailableLocales()
getInstanceメソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。 返される配列には、Locale.USと等価なLocaleインスタンスが少なくとも1つ含まれている必要があります。 Calendarインスタンスを使用可能なロケールの配列。protected abstract void computeTime()
complete(), computeFields()protected abstract void computeFields()
timeをfields[]内のカレンダ・フィールド値に変換します。 これによって、カレンダ・フィールドの値を、カレンダに設定されている新しい時間と同期させることができます。 時間は最初に再計算されません。時間、フィールドの順に再計算するには、complete()メソッドを呼び出します。 computeTime()public final Date getTime()
Calendarの時間値(元期からのミリ秒単位のオフセット)を表すDateオブジェクトを返します。Date。setTime(Date), getTimeInMillis()public final void setTime(Date date)
Dateに設定します。
ノート: Date(Long.MAX_VALUE)またはDate(Long.MIN_VALUE)でsetTime()を呼び出すと、get()から不正確なフィールド値が生じることがあります。
date - 指定されたDate。getTime(), setTimeInMillis(long)public long getTimeInMillis()
getTime(), setTimeInMillis(long)public void setTimeInMillis(long millis)
millis - 元期からのUTCミリ秒値で表される新しい時間。setTime(Date), getTimeInMillis()public int get(int field)
complete()メソッドによって処理されますが、そのプロセスは暦体系により異なります。 field - 指定されたカレンダ・フィールド。ArrayIndexOutOfBoundsException - 指定されたフィールドが範囲外の場合(field < 0||field>= FIELD_COUNT)。set(int,int), complete()protected final int internalGet(int field)
field - 指定されたカレンダ・フィールド。get(int)public void set(int field,
int value)
field - 指定されたカレンダ・フィールド。value - 指定されたカレンダ・フィールドに設定する値。ArrayIndexOutOfBoundsException - 厳密性モードで、指定されたフィールドが範囲外の場合(field < 0||field>= FIELD_COUNT)。set(int,int,int), set(int,int,int,int,int), set(int,int,int,int,int,int), get(int)public final void set(int year,
int month,
int date)
YEAR、MONTH、およびDAY_OF_MONTHの値を設定します。 ほかのカレンダ・フィールドの以前の値は保持されます。 保持されないようにする場合は、最初にclear()を呼び出します。 year - YEARカレンダ・フィールドの設定に使用する値。month - MONTHカレンダ・フィールドの設定に使用する値。 Month値は0から始まる(1月は0になる)。 date - DAY_OF_MONTHカレンダ・フィールドの設定に使用する値。set(int,int), set(int,int,int,int,int), set(int,int,int,int,int,int)public final void set(int year,
int month,
int date,
int hourOfDay,
int minute)
YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、およびMINUTEの値を設定します。 ほかのフィールドの以前の値は保持されます。 保持されないようにする場合は、最初にclear()を呼び出します。 year - YEARカレンダ・フィールドの設定に使用する値。month - MONTHカレンダ・フィールドの設定に使用する値。 Month値は0から始まる(1月は0になる)。 date - DAY_OF_MONTHカレンダ・フィールドの設定に使用する値。hourOfDay - HOUR_OF_DAYカレンダ・フィールドの設定に使用する値。minute - MINUTEカレンダ・フィールドの設定に使用する値。set(int,int), set(int,int,int), set(int,int,int,int,int,int)public final void set(int year,
int month,
int date,
int hourOfDay,
int minute,
int second)
YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、MINUTEおよびSECONDの値を設定します。 ほかのフィールドの以前の値は保持されます。 保持されないようにする場合は、最初にclear()を呼び出します。 year - YEARカレンダ・フィールドの設定に使用する値。month - MONTHカレンダ・フィールドの設定に使用する値。 Month値は0から始まる(1月は0になる)。 date - DAY_OF_MONTHカレンダ・フィールドの設定に使用する値。hourOfDay - HOUR_OF_DAYカレンダ・フィールドの設定に使用する値。minute - MINUTEカレンダ・フィールドの設定に使用する値。second - SECONDカレンダ・フィールドの設定に使用する値。set(int,int), set(int,int,int), set(int,int,int,int,int)public final void clear()
Calendarのすべてのカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。 これは、isSet()がすべてのカレンダ・フィールドでfalseを返し、日付および時間計算でフィールドがこれまで設定されたことがないかのように処理されることを意味します。 Calendar実装クラスは、固有のデフォルト・フィールド値を日付/時間計算に使用できます。 たとえば、YEARフィールド値が未定義の場合、GregorianCalendarは1970を使用します。 clear(int)public final void clear(int field)
Calendarの指定されたカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。 これは、isSet(field)がfalseを返すこと、および日付と時間計算でフィールドがこれまで設定されたことがないかのように処理されることを意味します。 Calendar実装クラスは、日付および時間計算にフィールド固有のデフォルト値を使用できます。
HOUR_OF_DAY、HOUR、およびAM_PMフィールドはそれぞれ別個に処理され、時間の解決ルールが適用されます。 フィールドのいずれかをクリアしても、このCalendarの「時」はリセットされません。 「時」の値をリセットするには、set(Calendar.HOUR_OF_DAY, 0)を使用します。
field - クリアするカレンダ・フィールド。clear()public final boolean isSet(int field)
getメソッド呼出しでトリガーされる内部フィールド計算によって値が設定された場合を含む)。field - テスト対象のカレンダ・フィールドtrue、そうでない場合はfalse。public String getDisplayName(int field, int style, Locale locale)
styleとlocaleのカレンダfield値の文字列表現を返します。 適用できる文字列表現がない場合は、nullが返されます。 このメソッドは、文字列表現が指定されたカレンダfieldに適用可能な場合に、get(field)を呼び出してカレンダfield値を取得します。
たとえば、このCalendarがGregorianCalendarであり、その日付が2005-01-01の場合、MONTHフィールドの文字列表現は、英語ロケールの長いスタイルでは「January」になり、短いスタイルでは「Jan」になります。 ただし、DAY_OF_MONTHフィールドでは文字列表現を使用できず、このメソッドはnullを返します。
デフォルトの実装は、DateFormatSymbolsに特定のlocaleの名前が含まれるカレンダ・フィールドをサポートします。
field - 文字列表現が返されるカレンダ・フィールドstyle - 文字列表現に適用されるスタイル。SHORT_FORMAT (SHORT)、SHORT_STANDALONE、LONG_FORMAT (LONG)、LONG_STANDALONE、NARROW_FORMAT、NARROW_STANDALONEのいずれか。locale - 文字列表現のロケール(localeで指定されたカレンダ・タイプは無視される)styleの指定されたfieldの文字列表現。適用できる文字列表現がない場合は、null。IllegalArgumentException - fieldまたはstyleが無効な場合、あるいはこのCalendarが厳密モードで、カレンダ・フィールドのいずれかに無効な値が含まれている場合NullPointerException - localeがnullである場合public Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
styleおよびlocaleのカレンダfieldのすべての名前と、それに対応するフィールド値を含むMapを返します。 たとえば、このCalendarがGregorianCalendarの場合、返されるマップには、英語ロケールの短いスタイルでは、JANUARYに対する「Jan」、FEBRUARYに対する「Feb」などが含まれます。
単一文字を使用するため、縮小名は一意でなくてもかまいません(日曜日と土曜日を表す「S」など)。 その場合、返されるMapには縮小名は含まれません。
その他のカレンダ・フィールドの値が、表示名のセットを決定するときに考慮されることがあります。 たとえば、このCalendarが太陰太陽暦システムであり、YEARフィールドによって指定される年の値にうるう月がある場合、このメソッドはうるう月の名前を含む月の名前を返し、月の名前はその年に固有の値にマップされます。
デフォルト実装は、DateFormatSymbolsに含まれる表示名をサポートします。 たとえば、fieldがMONTHでstyleがALL_STYLESの場合、このメソッドは、DateFormatSymbols.getShortMonths()およびDateFormatSymbols.getMonths()によって返されるすべての文字列を含むMapを返します。
field - 表示名が返されるカレンダ・フィールドstyle - 文字列表現に適用されるスタイル。SHORT_FORMAT (SHORT)、SHORT_STANDALONE、LONG_FORMAT (LONG)、LONG_STANDALONE, NARROW_FORMAT、NARROW_STANDALONEのいずれかlocale - 表示名のロケールstyleとlocaleのすべての表示名とそれらのフィールド値を含むMap。fieldに表示名が定義されていない場合は、nullIllegalArgumentException - fieldまたはstyleが無効な場合、あるいはこのCalendarが厳密モードで、カレンダ・フィールドのいずれかに無効な値が含まれている場合NullPointerException - localeがnullである場合protected void complete()
computeTime()メソッドが呼び出されます。 次に、computeFields()メソッドが呼び出されて、すべてのカレンダ・フィールド値が計算されます。 public static Set<String> getAvailableCalendarTypes()
Calendarによってサポートされるすべてのカレンダ・タイプを含む変更不可能なSetを返します。 使用可能なカレンダ・タイプをUnicodeロケール拡張に使用できます。 返されるSetには少なくとも"gregory".が含まれています。 カレンダ・タイプには別名("gregory"を表す"gregorian"など)は含まれません。 SetgetCalendarType(), Calendar.Builder.setCalendarType(String), Locale.getUnicodeLocaleType(String)public String getCalendarType()
Calendarのカレンダ・タイプを返します。 カレンダ・タイプは、Unicode Locale Data Markup Language (LDML)仕様によって定義されます。
このメソッドのデフォルトの実装では、このCalendarインスタンスのクラス名を返します。 LDMLで定義された暦体系を実装するサブクラスは、このメソッドをオーバーライドして適切なカレンダ・タイプを返すはずです。
Calendarインスタンスのクラス名Locale.Builder.setLocale(Locale), Locale.Builder.setUnicodeLocaleKeyword(String, String)public boolean equals(Object obj)
Calendarを指定されたObjectと比較します。 引数が、このオブジェクトと同じCalendarパラメータの同じ時間値(元期からのミリ秒単位のオフセット)を表す同じ暦体系のCalendarオブジェクトである場合にのみ、結果はtrueになります。
Calendarパラメータは、isLenient、getFirstDayOfWeek、getMinimalDaysInFirstWeek、およびgetTimeZoneメソッドにより表現される値です。 2つのCalendar間のパラメータに相違がある場合、このメソッドはfalseを返します。
時間値だけを比較する場合は、compareToメソッドを使用します。
equals、クラスObjectobj - 比較対象のオブジェクト。objに等しい場合はtrue。それ以外の場合はfalse。Object.hashCode()、HashMappublic int hashCode()
hashCode、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean before(Object when)
Calendarが、指定されたObjectの表す時間より前の時間を表すかどうかを返します。 このメソッドは、次と同等です。
compareTo(when) < 0
等価になるのは、whenがCalendarインスタンスである場合だけです。 それ以外の場合、このメソッドはfalseを返します。 when - 比較対象のObjectCalendarの時間がwhenで表される時間よりも前の場合はtrue、そうでない場合はfalse。compareTo(Calendar)public boolean after(Object when)
Calendarが、指定されたObjectの表す時間よりあとの時間を表すかどうかを返します。 このメソッドは、次と同等です。
compareTo(when) > 0
等価になるのは、whenがCalendarインスタンスである場合だけです。 それ以外の場合、このメソッドはfalseを返します。 when - 比較対象のObjectCalendarの時間がwhenで表される時間よりもあとの場合はtrue、そうでない場合はfalse。compareTo(Calendar)public int compareTo(Calendar anotherCalendar)
Calendarオブジェクトで表される時間値(元期からのミリ秒単位のオフセット)を比較します。compareTo、インタフェースComparable<Calendar>anotherCalendar - 比較対象のCalendar。Calendarの表す時間と等しい場合の値は0。このCalendarの時間が引数で表される時間より前の場合は0未満の値。このCalendarの時間が引数で表される時間よりあとの場合は、0より大きい値。NullPointerException - 指定されたCalendarがnullである場合。IllegalArgumentException - カレンダ値が無効なため、指定されたCalendarオブジェクトの時間値を取得できない場合。public abstract void add(int field,
int amount)
add(Calendar.DAY_OF_MONTH, -5).
field - カレンダ・フィールド。amount - フィールドに追加される日付または時間の量。roll(int,int), set(int,int)public abstract void roll(int field,
boolean up)
roll(Calendar.DATE, true)。 年またはCalendar.YEARフィールドを動かすと、年の値は、1とgetMaximum(Calendar.YEAR)で返される値の範囲の年に変わります。 月またはCalendar.MONTHフィールドを動かすと、日付などのほかのフィールドが矛盾を起こす場合があるので、その場合はそれらのフィールドを変更する必要があります。 たとえば、日付01/31/96の月を動かすと、結果は02/29/96となります。 日の時間またはCalendar.HOUR_OF_DAYフィールドを動かすと、時の値は、0と23の範囲の値(ゼロ・ベース)に変わります。
field - 時間フィールド。up - 指定された時間フィールドの値を上へ動かすのか、下へ動かすのかを指定する。 上へ動かす場合はtrue、そうでない場合はfalseを使用する。 add(int,int), set(int,int)public void roll(int field,
int amount)
ノート: Calendarに対するこのデフォルト実装は、一単位だけローリングするroll()のバージョンを繰返し呼び出します。 これは常に適切に動作するとは限りません。 たとえば、DAY_OF_MONTHフィールドが31の場合、2月をローリングすると、そのフィールドを28に設定したままにします。 この機能のGregorianCalendarバージョンはこの問題に対応しています。 ほかのサブクラスではこの機能のオーバーライドも提供する必要があり、これは適切な動作です。
field - カレンダ・フィールド。amount - カレンダfieldに追加する指定された量。roll(int,boolean), add(int,int), set(int,int)public void setTimeZone(TimeZone value)
value - 指定されたタイムゾーン。public TimeZone getTimeZone()
public void setLenient(boolean lenient)
lenient - 非厳密モードがオンの場合はtrue、そうでない場合はfalse。isLenient(), DateFormat.setLenient(boolean)public boolean isLenient()
true、そうでない場合はfalse。setLenient(boolean)public void setFirstDayOfWeek(int value)
SUNDAY、フランスではMONDAYです。value - 指定された週の最初の日。getFirstDayOfWeek(), getMinimalDaysInFirstWeek()public int getFirstDayOfWeek()
SUNDAY、フランスではMONDAYです。setFirstDayOfWeek(int), getMinimalDaysInFirstWeek()public void setMinimalDaysInFirstWeek(int value)
value - 年の最初の週に必要な指定された最小日数。getMinimalDaysInFirstWeek()public int getMinimalDaysInFirstWeek()
setMinimalDaysInFirstWeek(int)public boolean isWeekDateSupported()
Calendarが暦週日付をサポートしているかどうかを返します。
このメソッドのデフォルト実装はfalseを返します。
Calendarが暦週日付をサポートする場合はtrueを返し、そうでない場合はfalseを返します。getWeekYear(), setWeekDate(int,int,int), getWeeksInWeekYear()public int getWeekYear()
Calendarで表される暦週の基準年を返します。 暦週の基準年は、週のサイクルと同期がとられます。 最初の週の最初の日は、暦週の基準年の最初の日になります。
このメソッドのデフォルト実装はUnsupportedOperationExceptionをスローします。
Calendarの暦週の基準年UnsupportedOperationException - 暦週の基準年の番号付けがこのCalendarでサポートされていない場合。isWeekDateSupported(), getFirstDayOfWeek(), getMinimalDaysInFirstWeek()public void setWeekDate(int weekYear,
int weekOfYear,
int dayOfWeek)
Calendarの日付を指定された日付指示子 - 暦週の基準年、年の何週目かを表す値、および曜日で設定します。
setメソッドと異なり、すべてのカレンダ・フィールドおよびtimeの値は返された時点で計算されます。
weekOfYearがweekYear内の有効な週番号の範囲外である場合は、weekYearおよびweekOfYear値が非厳密モードで調整されるか、IllegalArgumentExceptionが厳密モードでスローされます。
このメソッドのデフォルト実装はUnsupportedOperationExceptionをスローします。
weekYear - 暦週の基準年weekOfYear - weekYearに基づく週番号dayOfWeek - 曜日の値。DAY_OF_WEEKフィールドの定数(SUNDAY、...、SATURDAY)の1つ。IllegalArgumentException - 厳密モードで、指定されたいずれかの日付指定子が無効であるか、いずれかのカレンダ・フィールドが、指定された日付指定子と矛盾している場合UnsupportedOperationException - 暦週の基準年の番号付けがこのCalendarでサポートされていない場合。isWeekDateSupported(), getFirstDayOfWeek(), getMinimalDaysInFirstWeek()public int getWeeksInWeekYear()
Calendarで表される暦週の基準年に含まれる週数を返します。
このメソッドのデフォルト実装はUnsupportedOperationExceptionをスローします。
UnsupportedOperationException - 暦週の基準年の番号付けがこのCalendarでサポートされていない場合。WEEK_OF_YEAR, isWeekDateSupported(), getWeekYear(), getActualMaximum(int)public abstract int getMinimum(int field)
Calendarインスタンスで指定されたカレンダ・フィールドの最小値を返します。 最小値は、すべての可能な時間値に対してgetメソッドで返された最小値として定義されます。 最小値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。 field - カレンダ・フィールド。getMaximum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMinimum(int), getActualMaximum(int)public abstract int getMaximum(int field)
Calendarインスタンスで指定されたカレンダ・フィールドの最大値を返します。 最大値は、すべての可能な時間値に対してgetメソッドで返された最大値として定義されます。 最大値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。 field - カレンダ・フィールド。getMinimum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMinimum(int), getActualMaximum(int)public abstract int getGreatestMinimum(int field)
Calendarインスタンスで指定されたカレンダ・フィールドの最大最小値を返します。 最大最小値は、すべての可能な時間値に対してgetActualMinimum(int)メソッドで返された最大値として定義されます。 最大最小値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。 field - カレンダ・フィールド。getMinimum(int), getMaximum(int), getLeastMaximum(int), getActualMinimum(int), getActualMaximum(int)public abstract int getLeastMaximum(int field)
Calendarインスタンスで指定されたカレンダ・フィールドの最小最大値を返します。 最小最大値は、すべての可能な時間値に対してgetActualMaximum(int)メソッドで返された最小値として定義されます。 最小最大値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。 たとえば、グレゴリオ暦のシステムのCalendarでは、DAY_OF_MONTHフィールドに28が返されます。これは、このカレンダでは日数がもっとも少ない月の最後の日が、平年の2月の28番目の日であるためです。 field - カレンダ・フィールド。getMinimum(int), getMaximum(int), getGreatestMinimum(int), getActualMinimum(int), getActualMaximum(int)public int getActualMinimum(int field)
Calendarに時間値を指定した、指定のカレンダ・フィールドが取り得る最小値を返します。
このメソッドのデフォルトの実装では、カレンダ・フィールドの実際の最小値を決定するために反復アルゴリズムを使用します。 可能な場合はサブクラスがこれをより効率的な実装でオーバーライドします。多くの場合、実際には単にgetMinimum()が返されることによってオーバーライドされます。
field - カレンダ・フィールドCalendarの時間値に対する、指定されたカレンダ・フィールドの最小値getMinimum(int), getMaximum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMaximum(int)public int getActualMaximum(int field)
Calendarに時間値を指定して、指定のカレンダ・フィールドが取り得る最大値を返します。 たとえば、MONTHフィールドの実際の最大値は、ある年では12になり、ヘブライ暦システムの場合の別の年では13になります。
このメソッドのデフォルトの実装では、カレンダ・フィールドの実際の最大値を決定するために反復アルゴリズムを使用します。 可能な場合はサブクラスがこれをより効率的な実装でオーバーライドします。
field - カレンダ・フィールドCalendarの時間値に対する、指定されたカレンダ・フィールドの最大値getMinimum(int), getMaximum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMinimum(int)public Object clone()
public String toString()
nullにはなりません。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。