- java.lang.Object
-
- java.lang.Enum<Month>
-
- java.time.Month
-
- すべての実装されたインタフェース:
Serializable,Comparable<Month>,TemporalAccessor,TemporalAdjuster
public enum Month extends Enum<Month> implements TemporalAccessor, TemporalAdjuster
「月」(「July」など)。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
-
-
列挙型定数のサマリー
列挙型定数 列挙型定数 説明 APRIL30日まである4月を表すシングルトン・インスタンスです。AUGUST31日まである8月を表すシングルトン・インスタンスです。DECEMBER31日まである12月を表すシングルトン・インスタンスです。FEBRUARY28日または29日(うるう年)まである2月を表すシングルトン・インスタンスです。JANUARY31日まである1月を表すシングルトン・インスタンスです。JULY31日まである7月を表すシングルトン・インスタンスです。JUNE30日まである6月を表すシングルトン・インスタンスです。MARCH31日まである3月を表すシングルトン・インスタンスです。MAY31日まである5月を表すシングルトン・インスタンスです。NOVEMBER30日まである11月を表すシングルトン・インスタンスです。OCTOBER31日まである10月を表すシングルトン・インスタンスです。SEPTEMBER30日まである9月を表すシングルトン・インスタンスです。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 TemporaladjustInto(Temporal temporal)指定された時間的オブジェクトを、この月が含まれるように調整します。intfirstDayOfYear(boolean leapYear)この月の最初の日に対応する「年の日」を取得します。MonthfirstMonthOfQuarter()この四半期の最初の月に相当する月を取得します。static Monthfrom(TemporalAccessor temporal)時間的オブジェクトからMonthのインスタンスを取得します。intget(TemporalField field)指定されたフィールドの値をこの月からintとして取得します。StringgetDisplayName(TextStyle style, Locale locale)「1月」や「12月」などのテキスト表現を取得します。longgetLong(TemporalField field)指定されたフィールドの値をこの月からlongとして取得します。intgetValue()月を表すint値を取得します。booleanisSupported(TemporalField field)指定されたフィールドがサポートされているかどうかをチェックします。intlength(boolean leapYear)この月の長さ(日数)を取得します。intmaxLength()この月の最大の長さ(日数)を取得します。intminLength()この月の最小の長さ(日数)を取得します。Monthminus(long months)この月から指定された月数だけ遡った月を返します。static Monthof(int month)int値からMonthのインスタンスを取得します。Monthplus(long months)この月の後に指定された月数を返します。<R> Rquery(TemporalQuery<R> query)指定された問合せを使用してこの月を問い合わせます。ValueRangerange(TemporalField field)指定されたフィールドの有効な値の範囲を取得します。static MonthvalueOf(String name)指定された名前を持つ、この型の列挙型定数を返します。static Month[]values()この列挙型の定数を含む配列を、宣言されている順序で返します。
-
-
-
列挙型定数の詳細
-
JANUARY
public static final Month JANUARY
31日まである1月を表すシングルトン・インスタンスです。 これの数値は1です。
-
FEBRUARY
public static final Month FEBRUARY
28日または29日(うるう年)まである2月を表すシングルトン・インスタンスです。 これの数値は2です。
-
MARCH
public static final Month MARCH
31日まである3月を表すシングルトン・インスタンスです。 これの数値は3です。
-
APRIL
public static final Month APRIL
30日まである4月を表すシングルトン・インスタンスです。 これの数値は4です。
-
MAY
public static final Month MAY
31日まである5月を表すシングルトン・インスタンスです。 これの数値は5です。
-
JUNE
public static final Month JUNE
30日まである6月を表すシングルトン・インスタンスです。 これの数値は6です。
-
JULY
public static final Month JULY
31日まである7月を表すシングルトン・インスタンスです。 これの数値は7です。
-
AUGUST
public static final Month AUGUST
31日まである8月を表すシングルトン・インスタンスです。 これには、数値の8が入ります。
-
SEPTEMBER
public static final Month SEPTEMBER
30日まである9月を表すシングルトン・インスタンスです。 これには、数値の9が入ります。
-
OCTOBER
public static final Month OCTOBER
31日まである10月を表すシングルトン・インスタンスです。 これには、数値の10が入ります。
-
NOVEMBER
public static final Month NOVEMBER
30日まである11月を表すシングルトン・インスタンスです。 これには、数値の11が入ります。
-
DECEMBER
public static final Month DECEMBER
31日まである12月を表すシングルトン・インスタンスです。 これには、数値の12が入ります。
-
-
メソッドの詳細
-
values
public static Month[] values()
この列挙型の定数を含む配列を、宣言されている順序で返します。 このメソッドは、次のようにして定数を反復するために使用できます。for (Month c : Month.values()) System.out.println(c);
- 戻り値:
- この列挙型の定数を含む配列(宣言されている順序)
-
valueOf
public static Month valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に一致している必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
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
public String getDisplayName(TextStyle style, Locale locale)
「1月」や「12月」などのテキスト表現を取得します。これは、ユーザへの表示に適した、月の識別に使用されるテキスト名を返します。 パラメータは返されるテキストとロケールのスタイルを制御します。
テキスト・マッピングが見つからない場合、
数値が返されます。- パラメータ:
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
public Temporal adjustInto(Temporal temporal)
指定された時間的オブジェクトを、この月が含まれるように調整します。これは、月をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
この調整は、
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- 数値のオーバーフローが発生した場合
-
-