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のisSupportedfield - チェックするフィールド、nullはfalseを返すpublic ValueRange range(TemporalField field)
範囲オブジェクトはフィールドの有効な最小値と最大値を表します。この月は、返される範囲の精度を高めるために使用されます。範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがMONTH_OF_YEARである場合は、月の範囲(1-12)が返されます。他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。
フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。範囲を取得できるかどうかはフィールドによって決まります。
TemporalAccessorのrangefield - 範囲を問い合わせるフィールド、null以外DateTimeException - フィールドの範囲を取得できない場合UnsupportedTemporalTypeException - フィールドがサポートされていない場合public int get(TemporalField field)
intとして取得します。
これは、指定されたフィールドの値をこの月に問い合わせます。返される値は常にフィールドの値の有効な範囲内になります。値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがMONTH_OF_YEARである場合は、月の値(1-12)が返されます。他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。
フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。
TemporalAccessorのgetfield - 取得するフィールド、null以外DateTimeException - フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException - フィールドがサポートされていない場合、または値の範囲がintを超えている場合ArithmeticException - 数値のオーバーフローが発生した場合public long getLong(TemporalField field)
longとして取得します。
これは、指定されたフィールドの値をこの月に問い合わせます。値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがMONTH_OF_YEARである場合は、月の値(1-12)が返されます。他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。
フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。
TemporalAccessorのgetLongfield - 取得するフィールド、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のqueryR - 結果の型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のadjustIntotemporal - 調整するターゲット・オブジェクト、null以外DateTimeException - 調整を実行できない場合ArithmeticException - 数値のオーバーフローが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.