- すべての実装されたインタフェース:
Serializable
,Comparable<Month>
,Constable
,TemporalAccessor
,TemporalAdjuster
Month
は、1年の12か月(1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月、12月)を表す列挙型です。
各月には、テキストの列挙名の他にint
値もあります。 このint
値は、通常の使用法およびISO-8601標準に準拠して、1(1月)-12(12月)になります。 コードをわかりやすくするために、アプリケーションはint
値ではなく列挙型を使用することをお薦めします。
Month
の数値表現の取得にordinal()
を使用しないでください。 かわりにgetValue()
を使用してください。
この列挙型は、多くの暦体系に見られる共通の概念を表現します。 そのためこの列挙型は、ISO-8601の暦体系とまったく同等であると定義された月の概念を持つどの暦体系でも使用できます。
- 実装要件:
- これは不変でスレッドセーフな列挙型です。
- 導入されたバージョン:
- 1.8
-
ネストされたクラスのサマリー
クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース
Enum.EnumDesc<E extends Enum<E>>
-
列挙型定数のサマリー
列挙型定数説明30日まである4月を表すシングルトン・インスタンスです。31日まである8月を表すシングルトン・インスタンスです。31日まである12月を表すシングルトン・インスタンスです。28日または29日(うるう年)まである2月を表すシングルトン・インスタンスです。31日まである1月を表すシングルトン・インスタンスです。31日まである7月を表すシングルトン・インスタンスです。30日まである6月を表すシングルトン・インスタンスです。31日まである3月を表すシングルトン・インスタンスです。31日まである5月を表すシングルトン・インスタンスです。30日まである11月を表すシングルトン・インスタンスです。31日まである10月を表すシングルトン・インスタンスです。30日まである9月を表すシングルトン・インスタンスです。 -
メソッドのサマリー
修飾子と型メソッド説明adjustInto
(Temporal temporal) 指定された時間的オブジェクトを、この月が含まれるように調整します。int
firstDayOfYear
(boolean leapYear) この月の最初の日に対応する「年の日」を取得します。この四半期の最初の月に相当する月を取得します。static Month
from
(TemporalAccessor temporal) 時間的オブジェクトからMonth
のインスタンスを取得します。int
get
(TemporalField field) 指定されたフィールドの値をこの月からint
として取得します。getDisplayName
(TextStyle style, Locale locale) 「Jan」や「December」などのテキスト表現を取得します。long
getLong
(TemporalField field) 指定されたフィールドの値をこの月からlong
として取得します。int
getValue()
月を表すint
値を取得します。boolean
isSupported
(TemporalField field) 指定されたフィールドがサポートされているかどうかをチェックします。int
length
(boolean leapYear) この月の長さ(日数)を取得します。int
この月の最大の長さ(日数)を取得します。int
この月の最小の長さ(日数)を取得します。minus
(long months) この月から指定された月数だけ遡った月を返します。static Month
of
(int month) int
値からMonth
のインスタンスを取得します。plus
(long months) この月の後に指定された月数を返します。<R> R
query
(TemporalQuery<R> query) 指定された問合せを使用してこの月を問い合わせます。range
(TemporalField field) 指定されたフィールドの有効な値の範囲を取得します。static Month
指定された名前を持つこのクラスのenum定数を返します。static Month[]
values()
この列挙クラスの定数を含む配列を宣言されている順序で 返します。
-
列挙型定数の詳細
-
JANUARY
public static final Month JANUARY31日まである1月を表すシングルトン・インスタンスです。 これの数値は1
です。 -
FEBRUARY
public static final Month FEBRUARY28日または29日(うるう年)まである2月を表すシングルトン・インスタンスです。 これの数値は2
です。 -
MARCH
public static final Month MARCH31日まである3月を表すシングルトン・インスタンスです。 これの数値は3
です。 -
APRIL
public static final Month APRIL30日まである4月を表すシングルトン・インスタンスです。 これの数値は4
です。 -
MAY
public static final Month MAY31日まである5月を表すシングルトン・インスタンスです。 これの数値は5
です。 -
JUNE
public static final Month JUNE30日まである6月を表すシングルトン・インスタンスです。 これの数値は6
です。 -
JULY
public static final Month JULY31日まである7月を表すシングルトン・インスタンスです。 これの数値は7
です。 -
AUGUST
public static final Month AUGUST31日まである8月を表すシングルトン・インスタンスです。 これには、数値の8
が入ります。 -
SEPTEMBER
public static final Month SEPTEMBER30日まである9月を表すシングルトン・インスタンスです。 これには、数値の9
が入ります。 -
OCTOBER
public static final Month OCTOBER31日まである10月を表すシングルトン・インスタンスです。 これには、数値の10
が入ります。 -
NOVEMBER
public static final Month NOVEMBER30日まである11月を表すシングルトン・インスタンスです。 これには、数値の11
が入ります。 -
DECEMBER
public static final Month DECEMBER31日まである12月を表すシングルトン・インスタンスです。 これには、数値の12
が入ります。
-
-
メソッドの詳細
-
values
public static Month[] values()この列挙クラスの定数を含む配列を宣言されている順序で 返します。- 戻り値:
- この列挙クラスの定数を宣言されている順序で含む配列
-
valueOf
指定された名前を持つこのクラスのenum定数を返します。 文字列は、このクラスでenum定数を宣言するために使用される識別子とexactlyと一致する必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
name
- 返される列挙型定数の名前。- 戻り値:
- 指定された名前を持つ列挙型定数
- 例外:
IllegalArgumentException
- この列挙型クラスに指定された名前の定数がない場合NullPointerException
- 引数がnullの場合
-
of
public static Month of(int month) int
値からMonth
のインスタンスを取得します。Month
は1年の12か月を表す列挙型です。 このファクトリを使用すると、int
値から列挙型を取得できます。 このint
値は、ISO-8601標準に準拠して、1(1月)-12(12月)になります。- パラメータ:
month
- 表される月。1(1月)-12(12月)- 戻り値:
- 月。null以外
- 例外:
DateTimeException
- その月が無効である場合
-
from
public static Month from(TemporalAccessor temporal) 時間的オブジェクトからMonth
のインスタンスを取得します。これは、指定された時間的オブジェクトに基づいて月を取得します。
TemporalAccessor
は任意の日付と時間のセットに関する情報を表し、それがこのファクトリでMonth
のインスタンスに変換されます。この変換では、
MONTH_OF_YEAR
フィールドを抽出します。 この抽出が許可されるのは、時間的オブジェクトにISOの暦が含まれているか、そのオブジェクトをLocalDate
に変換できる場合にかぎられます。このメソッドは関数型インタフェース
TemporalQuery
のシグネチャに一致するため、メソッド参照Month::from
を介して、問合せとして使用できます。- パラメータ:
temporal
- 変換する一時オブジェクト、null以外- 戻り値:
- 月。null以外
- 例外:
DateTimeException
-Month
に変換できない場合
-
getValue
public int getValue()月を表すint
値を取得します。これらの値は、ISO-8601標準に準拠して、1(1月)-12(12月)の番号が付けられます。
- 戻り値:
- 1(1月)-12(12月)の月
-
getDisplayName
「Jan」や「December」などのテキスト表現を取得します。これは、ユーザへの表示に適した、月の識別に使用されるテキスト名を返します。 パラメータは返されるテキストとロケールのスタイルを制御します。
テキスト・マッピングが見つからない場合、
数値
が返されます。- パラメータ:
style
- 必要なテキストの長さ、nullでないlocale
- 使用するロケール。null以外- 戻り値:
- 月のテキスト値。null以外
-
isSupported
public boolean isSupported(TemporalField field) 指定されたフィールドがサポートされているかどうかをチェックします。これは、指定されたフィールドをこの月に問い合せることができるかどうかを確認します。 falseの場合、
range
メソッドとget
メソッドを呼び出すと例外がスローされます。フィールドが
MONTH_OF_YEAR
である場合、このメソッドはtrueを返します。 他のすべてのChronoField
インスタンスはfalseを返します。フィールドが
ChronoField
でない場合、このメソッドの結果は、this
を引数として渡してTemporalField.isSupportedBy(TemporalAccessor)
を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
- インタフェース
TemporalAccessor
のisSupported
- パラメータ:
field
- チェックするフィールド、nullはfalseを返す- 戻り値:
- フィールドがこの月でサポートされている場合はtrue、サポートされていない場合はfalse
-
range
public ValueRange range(TemporalField field) 指定されたフィールドの有効な値の範囲を取得します。範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この月は、返される範囲の精度を高めるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
MONTH_OF_YEAR
である場合は、月の範囲(1-12)が返されます。 他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.rangeRefinedBy(TemporalAccessor)
を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のrange
- パラメータ:
field
- 範囲を問い合わせるフィールド、null以外- 戻り値:
- フィールドの有効値の範囲。null以外
- 例外:
DateTimeException
- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合
-
get
public int get(TemporalField field) 指定されたフィールドの値をこの月からint
として取得します。これは、指定されたフィールドの値についてこの月に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
MONTH_OF_YEAR
である場合は、月の値(1-12)が返されます。 他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.getFrom(TemporalAccessor)
を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のget
- パラメータ:
field
- 取得するフィールド、null以外- 戻り値:
- フィールドの値、値の有効な範囲内
- 例外:
DateTimeException
- フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合、または値の範囲がint
を超えている場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
getLong
public long getLong(TemporalField field) 指定されたフィールドの値をこの月からlong
として取得します。これは、指定されたフィールドの値についてこの月に問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
MONTH_OF_YEAR
である場合は、月の値(1-12)が返されます。 他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.getFrom(TemporalAccessor)
を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のgetLong
- パラメータ:
field
- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- 例外:
DateTimeException
- フィールドの値を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
plus
public Month plus(long months) この月の後に指定された月数を返します。この計算は、年の終わりで12月から1月に戻ります。 指定する期間は負でもかまいません。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
months
- 加算する月数(正または負)- 戻り値:
- 結果となる月。null以外
-
minus
public Month minus(long months) この月から指定された月数だけ遡った月を返します。この計算は、年の始めで1月から12月に戻ります。 指定する期間は負でもかまいません。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
months
- 減算する月数(正または負)- 戻り値:
- 結果となる月。null以外
-
length
public int length(boolean leapYear) この月の長さ(日数)を取得します。これは、うるう年の長さを返すかどうかを判断するためのフラグを取ります。
2月は、標準の年では28日まであり、うるう年では29日まであります。 4月、6月、9月、および11月は30日まであります。 他のすべての月は31日まであります。
- パラメータ:
leapYear
- うるう年の長さが必要な場合はtrue- 戻り値:
- この月の長さ(日数)。28-31
-
minLength
public int minLength()この月の最小の長さ(日数)を取得します。2月の最小の長さは28日です。 4月、6月、9月、および11月は30日まであります。 他のすべての月は31日まであります。
- 戻り値:
- この月の最小の長さ(日数)。28-31
-
maxLength
public int maxLength()この月の最大の長さ(日数)を取得します。2月の最大の長さは29日です。 4月、6月、9月、および11月は30日まであります。 他のすべての月は31日まであります。
- 戻り値:
- この月の最大の長さ(日数)。29-31
-
firstDayOfYear
public int firstDayOfYear(boolean leapYear) この月の最初の日に対応する「年の日」を取得します。これは、うるう年のフラグを使って2月の長さを判断し、この月が始まる「年の日」を返します。
- パラメータ:
leapYear
- うるう年の長さが必要な場合はtrue- 戻り値:
- この月の最初の日に対応する「年の日」(1-336)
-
firstMonthOfQuarter
public Month firstMonthOfQuarter()この四半期の最初の月に相当する月を取得します。1年は4つの四半期に分けることができます。 このメソッドは、ベース月の四半期の最初の月を返します。 1月、2月、および3月は、1月を返します。 4月、5月、および6月は、4月を返します。 7月、8月、および9月は、7月を返します。 10月、11月、および12月は、10月を返します。
- 戻り値:
- この月に対応する四半期の最初の月。null以外
-
query
public <R> R query(TemporalQuery<R> query) 指定された問合せを使用してこの月を問い合わせます。これは、指定された問合せ方針オブジェクトを使用してこの月を問い合わせます。
TemporalQuery
オブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。このメソッドの結果は、
this
を引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)
メソッドを呼び出すことによって取得します。- 定義:
- インタフェース
TemporalAccessor
のquery
- 型パラメータ:
R
- 結果の型- パラメータ:
query
- 呼び出す問合せ、null以外- 戻り値:
- 問合せ結果、nullが返されることがある(問合せによって定義される)
- 例外:
DateTimeException
- 問い合わせできない場合(問合せによって定義される)ArithmeticException
- 数値のオーバーフローが発生した場合(問合せによって定義される)
-
adjustInto
指定された時間的オブジェクトを、この月が含まれるように調整します。これは、月をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
この調整は、
ChronoField.MONTH_OF_YEAR
をフィールドとして渡してTemporal.with(TemporalField, long)
を使用することと同等です。 指定された時間的オブジェクトがISOの暦体系を使用しない場合は、DateTimeException
がスローされます。ほとんどのケースで、
Temporal.with(TemporalAdjuster)
を使用して、呼び出しパターンを逆にすると明確になります。// these two lines are equivalent, but the second approach is recommended temporal = thisMonth.adjustInto(temporal); temporal = temporal.with(thisMonth);
たとえば、5月の日付を指定すると、出力は次のようになります。
dateInMay.with(JANUARY); // four months earlier dateInMay.with(APRIL); // one months earlier dateInMay.with(MAY); // same date dateInMay.with(JUNE); // one month later dateInMay.with(DECEMBER); // seven months later
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
TemporalAdjuster
のadjustInto
- パラメータ:
temporal
- 調整するターゲット・オブジェクト、null以外- 戻り値:
- 調整されるオブジェクト、null以外
- 例外:
DateTimeException
- 調整を実行できない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-