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
isTimeSet
protected boolean isTimeSet
time
の値が有効である場合はtrueです。 field[]
の項目を変更することで、timeは無効になります。 time
protected 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
に表示名が定義されていない場合は、null
IllegalArgumentException
- field
またはstyle
が無効な場合、あるいはこのCalendar
が厳密モードで、カレンダ・フィールドのいずれかに無効な値が含まれている場合NullPointerException
- locale
がnullである場合protected void complete()
computeTime()
メソッドが呼び出されます。 次に、computeFields()
メソッドが呼び出されて、すべてのカレンダ・フィールド値が計算されます。 public static Set<String> getAvailableCalendarTypes()
Calendar
によってサポートされるすべてのカレンダ・タイプを含む変更不可能なSet
を返します。 使用可能なカレンダ・タイプをUnicodeロケール拡張に使用できます。 返されるSet
には少なくとも"gregory"
.が含まれています。 カレンダ・タイプには別名("gregory"
を表す"gregorian"
など)は含まれません。 Set
getCalendarType()
, 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
、クラスObject
obj
- 比較対象のオブジェクト。obj
に等しい場合はtrue
。それ以外の場合はfalse
。Object.hashCode()
、HashMap
public int hashCode()
hashCode
、クラスObject
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean before(Object when)
Calendar
が、指定されたObject
の表す時間より前の時間を表すかどうかを返します。 このメソッドは、次と同等です。
compareTo(when) < 0
等価になるのは、when
がCalendar
インスタンスである場合だけです。 それ以外の場合、このメソッドはfalse
を返します。 when
- 比較対象のObject
Calendar
の時間がwhen
で表される時間よりも前の場合はtrue
、そうでない場合はfalse
。compareTo(Calendar)
public boolean after(Object when)
Calendar
が、指定されたObject
の表す時間よりあとの時間を表すかどうかを返します。 このメソッドは、次と同等です。
compareTo(when) > 0
等価になるのは、when
がCalendar
インスタンスである場合だけです。 それ以外の場合、このメソッドはfalse
を返します。 when
- 比較対象のObject
Calendar
の時間が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も参照してください。