public enum Month extends Enum<Month> implements 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の暦体系とまったく同等であると定義された月の概念を持つどの暦体系でも使用できます。
列挙型定数と説明 |
---|
APRIL
30日まである4月を表すシングルトン・インスタンスです。
|
AUGUST
31日まである8月を表すシングルトン・インスタンスです。
|
DECEMBER
31日まである12月を表すシングルトン・インスタンスです。
|
FEBRUARY
28日または29日(うるう年)まである2月を表すシングルトン・インスタンスです。
|
JANUARY
31日まである1月を表すシングルトン・インスタンスです。
|
JULY
31日まである7月を表すシングルトン・インスタンスです。
|
JUNE
30日まである6月を表すシングルトン・インスタンスです。
|
MARCH
31日まである3月を表すシングルトン・インスタンスです。
|
MAY
31日まである5月を表すシングルトン・インスタンスです。
|
NOVEMBER
30日まである11月を表すシングルトン・インスタンスです。
|
OCTOBER
31日まである10月を表すシングルトン・インスタンスです。
|
SEPTEMBER
30日まである9月を表すシングルトン・インスタンスです。
|
修飾子と型 | メソッドと説明 |
---|---|
Temporal |
adjustInto(Temporal temporal)
指定された時間的オブジェクトを、この月が含まれるように調整します。
|
int |
firstDayOfYear(boolean leapYear)
この月の最初の日に対応する「年の日」を取得します。
|
Month |
firstMonthOfQuarter()
この四半期の最初の月に相当する月を取得します。
|
static Month |
from(TemporalAccessor temporal)
時間的オブジェクトから
Month のインスタンスを取得します。 |
int |
get(TemporalField field)
指定されたフィールドの値をこの月から
int として取得します。 |
String |
getDisplayName(TextStyle style, Locale locale)
「1月」や「12月」などのテキスト表現を取得します。
|
long |
getLong(TemporalField field)
指定されたフィールドの値をこの月から
long として取得します。 |
int |
getValue()
月を表す
int 値を取得します。 |
boolean |
isSupported(TemporalField field)
指定されたフィールドがサポートされているかどうかをチェックします。
|
int |
length(boolean leapYear)
この月の長さ(日数)を取得します。
|
int |
maxLength()
この月の最大の長さ(日数)を取得します。
|
int |
minLength()
この月の最小の長さ(日数)を取得します。
|
Month |
minus(long months)
この月から指定された月数だけ遡った月を返します。
|
static Month |
of(int month)
int 値からMonth のインスタンスを取得します。 |
Month |
plus(long months)
この月から指定された数の四半期が経過した後の月を返します。
|
<R> R |
query(TemporalQuery<R> query)
指定された問合せを使用してこの月を問い合わせます。
|
ValueRange |
range(TemporalField field)
指定されたフィールドの有効な値の範囲を取得します。
|
static Month |
valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。
|
static Month[] |
values()
この列挙型の定数を含む配列を、宣言されている順序で返します。
|
public static final Month JANUARY
1
です。public static final Month FEBRUARY
2
です。public static final Month MARCH
3
です。public static final Month APRIL
4
です。public static final Month MAY
5
です。public static final Month JUNE
6
です。public static final Month JULY
7
です。public static final Month AUGUST
8
が入ります。public static final Month SEPTEMBER
9
が入ります。public static final Month OCTOBER
10
が入ります。public static final Month NOVEMBER
11
が入ります。public static final Month DECEMBER
12
が入ります。public static Month[] values()
for (Month c : Month.values()) System.out.println(c);
public static Month valueOf(String name)
name
- 返される列挙型定数の名前。IllegalArgumentException
- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException
- 引数がnullの場合public static Month of(int month)
int
値からMonth
のインスタンスを取得します。
Month
は1年の12か月を表す列挙型です。このファクトリを使用すると、int
値から列挙型を取得できます。このint
値は、ISO-8601標準に準拠して、1(1月)-12(12月)になります。
month
- 表される月。1(1月)-12(12月)DateTimeException
- その月が無効である場合public static Month from(TemporalAccessor temporal)
Month
のインスタンスを取得します。
これは、指定された時間的オブジェクトに基づいて月を取得します。TemporalAccessor
は任意の日付と時間のセットに関する情報を表し、それがこのファクトリでMonth
のインスタンスに変換されます。
この変換では、MONTH_OF_YEAR
フィールドを抽出します。この抽出が許可されるのは、時間的オブジェクトにISOの暦が含まれているか、そのオブジェクトをLocalDate
に変換できる場合にかぎられます。
このメソッドは、関数型インタフェースTemporalQuery
のシグネチャに一致するため、メソッド参照Month::from
を介して問合せで使用できます。
temporal
- 変換する一時オブジェクト、null以外DateTimeException
- Month
に変換できない場合public int getValue()
int
値を取得します。
これらの値は、ISO-8601標準に準拠して、1(1月)-12(12月)の番号が付けられます。
public String getDisplayName(TextStyle style, Locale locale)
これは、ユーザへの表示に適した、月の識別に使用されるテキスト名を返します。パラメータは返されるテキストとロケールのスタイルを制御します。
テキスト・マッピングが見つからない場合、数値
が返されます。
style
- 必要なテキストの長さ、nullでないlocale
- 使用するロケール。null以外public boolean isSupported(TemporalField field)
これは、指定されたフィールドをこの月に問い合せることができるかどうかを確認します。falseの場合、range
メソッドとget
メソッドを呼び出すと例外がスローされます。
フィールドがMONTH_OF_YEAR
である場合、このメソッドはtrueを返します。他のすべてのChronoField
インスタンスはfalseを返します。
フィールドがChronoField
でない場合、このメソッドの結果は、this
を引数として渡してTemporalField.isSupportedBy(TemporalAccessor)
を呼び出すことによって取得します。フィールドがサポートされているかどうかはフィールドによって決定します。
TemporalAccessor
のisSupported
field
- チェックするフィールド、nullはfalseを返すpublic ValueRange range(TemporalField field)
範囲オブジェクトはフィールドの有効な最小値と最大値を表します。この月は、返される範囲の精度を高めるために使用されます。範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがMONTH_OF_YEAR
である場合は、月の範囲(1-12)が返されます。他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.rangeRefinedBy(TemporalAccessor)
を呼び出すことにより取得されます。範囲を取得できるかどうかはフィールドによって決まります。
TemporalAccessor
のrange
field
- 範囲を問い合わせるフィールド、null以外DateTimeException
- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合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
- 数値のオーバーフローが発生した場合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
- 数値のオーバーフローが発生した場合public Month plus(long months)
この計算は、年の終わりで12月から1月に戻ります。指定する期間は負でもかまいません。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
months
- 加算する月数(正または負)public Month minus(long months)
この計算は、年の始めで1月から12月に戻ります。指定する期間は負でもかまいません。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
months
- 減算する月数(正または負)public int length(boolean leapYear)
これは、うるう年の長さを返すかどうかを判断するためのフラグを取ります。
2月は、標準の年では28日まであり、うるう年では29日まであります。4月、6月、9月、および11月は30日まであります。他のすべての月は31日まであります。
leapYear
- うるう年の長さが必要な場合はtruepublic int minLength()
2月の最小の長さは28日です。4月、6月、9月、および11月は30日まであります。他のすべての月は31日まであります。
public int maxLength()
2月の最大の長さは29日です。4月、6月、9月、および11月は30日まであります。他のすべての月は31日まであります。
public int firstDayOfYear(boolean leapYear)
これは、うるう年のフラグを使って2月の長さを判断し、この月が始まる「年の日」を返します。
leapYear
- うるう年の長さが必要な場合はtruepublic Month firstMonthOfQuarter()
1年は4つの四半期に分けることができます。このメソッドは、ベース月の四半期の最初の月を返します。1月、2月、および3月は、1月を返します。4月、5月、および6月は、4月を返します。7月、8月、および9月は、7月を返します。10月、11月、および12月は、10月を返します。
public <R> R query(TemporalQuery<R> query)
これは、指定された問合せ方針オブジェクトを使用してこの月を問い合わせます。TemporalQuery
オブジェクトは結果を取得するために使用するロジックを定義します。このメソッドの結果を理解するには、問合せのドキュメントをお読みください。
このメソッドの結果は、this
を引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)
メソッドを呼び出すことによって取得します。
TemporalAccessor
のquery
R
- 結果の型query
- 呼び出す問合せ、null以外DateTimeException
- 問い合わせできない場合(問合せによって定義される)ArithmeticException
- 数値のオーバーフローが発生した場合(問合せによって定義される)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以外DateTimeException
- 調整を実行できない場合ArithmeticException
- 数値のオーバーフローが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.