|
CDC 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.Calendar
public abstract class Calendar
Calendar
は、Date
オブジェクトと、YEAR
、MONTH
、DAY
、HOUR
などの整数フィールドの間で変換を行うための抽象基底クラスです。Date
オブジェクトは、特定の時点を表し、ミリ秒の精度を持っています。Date
クラスについては、Date
を参照してください。
Calendar
のサブクラスは、特定のカレンダシステムの規則に従って Date
を解釈します。プラットフォームでは、Calendar
の具象サブクラスの 1 つとして GregorianCalendar
が提供されます。将来は、サブクラスを使用して、世界各地で使用されているさまざまな太陰暦を表現できるようになります。
ロケールに依存するほかのクラスと同じように、Calendar
では、この種の一般に役立つオブジェクトを得るためのクラスメソッド getInstance
が提供されます。Calendar
の getInstance
メソッドは、Calendar
オブジェクトを返しますが、この時間フィールドは現在の日付と時刻に初期化されています。
Calendar rightNow = Calendar.getInstance();
Calendar
オブジェクトでは、特定の言語およびカレンダスタイル (日本のグレゴリオ暦、日本の旧暦など) に対して、日付と時刻のフォーマットを行うときに必要なすべての時間フィールド値を生成できます。Calendar
では、特定のフィールドとその意味の両方によって返される値の範囲が定義されます。たとえば、どのカレンダでも、年の最初の月の値は MONTH
== JANUARY
になっています。ほかの値は、ERA
、YEAR
などの具象サブクラスで定義されます。詳細は、個別のフィールドドキュメントおよびサブクラスドキュメントを参照してください。
非厳密モードの場合、Calendar
はそれ自身が生成する値よりも広範なフィールド値を受け入れます。たとえば、非厳密な GregorianCalendar
は、MONTH
== JANUARY
、DAY_OF_MONTH
== 32 を 2 月 1 日として解釈します。一方、厳密な GregorianCalendar
は、範囲外のフィールド設定が指定されると例外をスローします。カレンダが get()
の値を返すためにフィールド値を再計算する際、すべてのフィールドが正規化されます。たとえば、GregorianCalendar
は、DAY_OF_MONTH
値として 1 とその月の長さの間の値を常に生成します。
Calendar
では、週の最初の日および最初の週の最小日数 (1 から 7) という 2 つのパラメータを使用して、ロケール固有の週 7 日が定義されます。これらの数は、Calendar
が構築されるときにロケールリソースデータから取得されます。これらは、API によって明示的に指定される場合もあります。
WEEK_OF_MONTH
フィールドや WEEK_OF_YEAR
フィールドを設定または取得すると、Calendar
では月または年の最初の週を参照点として決定する必要があります。月または年の最初の週は、getFirstDayOfWeek()
で始まり、その月または年の少なくとも getMinimalDaysInFirstWeek()
の日数を含む、もっとも早い 7 日間として定義されます。...、-1、0 という番号が付けられた週は、最初の週より前にあります。2、3、... という番号が付けられた週は、最初の週より後ろにあります。get()
によって返される正規化された番号付けとは、異なる場合があります。たとえば、特定の Calendar
サブクラスでは、1 年の週 1 の前の週を、前年の週 n として指定することがあります。
複数の時間フィールドから Date
を計算する場合、2 つの特別な状況になることがあります。つまり、Date
を計算するための情報が不足している (年と月だけで日がない)、または情報に一貫性がない (たとえば「Tuesday, July 15, 1996」で、July 15, 1996 は実際には Monday) 場合です。
情報が不十分な場合: カレンダでは、デフォルト情報を使って、不足している情報を補います。デフォルトの情報はカレンダによって異なります。グレゴリオ暦の場合、フィールドのデフォルト値は、その期間の初めの値です。つまり、YEAR = 1970、MONTH = JANUARY、DATE = 1 などです。
情報に一貫性がない場合: フィールドが衝突している場合、カレンダはあとから設定されたフィールドを優先します。たとえば、日付を判定するときには、カレンダは次のフィールドの組み合わせのどれかを探します。もっとも最近に設定されたフィールドによって判定される、最新の組み合わせが使用されます。
時刻の場合MONTH + DAY_OF_MONTH MONTH + WEEK_OF_MONTH + DAY_OF_WEEK MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK DAY_OF_YEAR DAY_OF_WEEK + WEEK_OF_YEAR
HOUR_OF_DAY AM_PM + HOUR
注: 一部の非グレゴリオ暦では、あいまいさを完全になくすために、異なるフィールドが必要になる場合があります。たとえば、アラビアの昔の天文暦で表わすには、年、月、月の日、および場合によっては曜日が必要です。
注: 一部の特別な時間では、その解釈があいまいになることもあります。その場合には、次のように解決されます。
日付や時刻のフォーマット文字列は、カレンダの定義の一部ではありません。これらが実行時にユーザーによって修正可能で、オーバーライド可能である必要があるためです。日付をフォーマットするには、DateFormat
を使用してください。
フィールド操作メソッド
Calendar
フィールドは、set()
、add()
、および roll()
という 3 つのメソッドを使用して変更できます。
set(f, value)
では、フィールド f
が value
に変更されます。さらに、フィールド f
が変更されたことを示すように内部メンバー変数が設定されます。フィールド f
はただちに変更されますが、カレンダの時間値 (ミリ秒) は、get()
、getTime()
、または getTimeInMillis()
が次に呼び出されるまで再計算されません。このように、set()
を複数回呼び出しても、不要な計算が行われることはありません。set()
を使用してフィールドを変更すると、フィールド、フィールド値、およびカレンダシステムによってほかのフィールドも変更されることがあります。さらに、get(f)
では、フィールドの再計算後に 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 rule 1。呼び出しがフィールド f
で発生したモジュロオーバーフロー delta
になる前に、呼び出しでフィールド f
の値を引いたあとのフィールド f
の値です。オーバーフローは、フィールドの値が範囲を超え、その結果、次の大きいフィールドが増分または減分されて、フィールドの値がその範囲に入るよう調整された場合に発生します。
Add rule 2。小さいフィールドが不変式であると予想される場合に、 フィールド f
が変更されてから最小値または最大値が変更されたために、その前の値と等しくならないと、フィールドの値はその予想される値にできるだけ近くなるように調整されます。小さいフィールドは、小さい時間の単位を表します。HOUR
は、DAY_OF_MONTH
よりも小さいフィールドです。不変式ではないと予想される小さいフィールドは、調整されません。カレンダシステムでは、不変式であると予想されるフィールドが判断されます。
さらに、set()
とは異なり、add()
ではカレンダのミリ秒およびすべてのフィールドがただちに強制的に再計算されます。
例: 最初に 1999 年 8 月 31 日に設定された GregorianCalendar
を考えます。add(Calendar.MONTH, 13)
を呼び出すと、カレンダが 2000 年 9 月 30 日に設定されます。8 月に 13 か月を追加すると翌年の 9 月になるため、Add rule 1 によって MONTH
フィールドが 9 月に設定されます。DAY_OF_MONTH
は GregorianCalendar
では 9 月の 31 日にはできないため、add rule 2 によって DAY_OF_MONTH
が最も近い可能な値の 30 に設定されます。これは小さいフィールドですが、GregorianCalendar
で月が変更されるときに変更が予定されているため、DAY_OF_WEEK
はルール 2 によっては調整されません。
roll(f, delta)
では、大きいフィールドを変更せずにフィールド f
に delta
が追加されます。これは、以下の調整によって add(f, delta)
を呼び出すのと同じです。
Roll rule。呼び出しのあと、大きいフィールドは変更されません。大きいフィールドは、大きい時間の単位を表します。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()
を使用することで、ユーザーインタフェースがほとんどのユーザーが直観的に期待するとおりに動作します。
Date
,
GregorianCalendar
,
TimeZone
,
DateFormat
,
直列化された形式フィールドの概要 | |
---|---|
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 |
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 |
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 |
SUNDAY
日曜日を示す DAY_OF_WEEK フィールドの値です。 |
static int |
THURSDAY
木曜日を示す DAY_OF_WEEK フィールドの値です。 |
protected long |
time
このカレンダで現在設定されている時刻です。 |
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 のためのフィールド値です。 |
コンストラクタの概要 | |
---|---|
protected |
Calendar()
デフォルトのタイムゾーンおよびロケールを使用して Calendar を作成します。 |
protected |
Calendar(TimeZone zone,
Locale aLocale)
指定されたタイムゾーンおよびロケールを使用してカレンダを作成します。 |
メソッドの概要 | |
---|---|
abstract void |
add(int field,
int amount)
日付を求める算術関数です。 |
boolean |
after(Object when)
時間フィールドのレコードを比較します。 |
boolean |
before(Object when)
時間フィールドのレコードを比較します。 |
void |
clear()
すべての時間フィールドの値をクリアします。 |
void |
clear(int field)
指定された時間フィールドの値をクリアします。 |
Object |
clone()
Cloneable をオーバーライドします。 |
protected void |
complete()
時間フィールドリストの未設定フィールドに値を入れます。 |
protected abstract void |
computeFields()
現在の時刻の値 (ミリ秒) time を fields[] 内のフィールド値に変換します。 |
protected abstract void |
computeTime()
fields[] の現在のフィールド値をミリ秒の時刻値 time に変換します。 |
boolean |
equals(Object obj)
このカレンダを指定されたオブジェクトと比較します。 |
int |
get(int field)
指定された時間フィールドの値を取得します。 |
int |
getActualMaximum(int field)
現在の日付に対する、このフィールドが持ち得る最大値を返します。 |
int |
getActualMinimum(int field)
現在の日付に対する、このフィールドが持ち得る最小値を返します。 |
static Locale[] |
getAvailableLocales()
Calendar が導入されているロケールのリストを取得します。 |
int |
getFirstDayOfWeek()
週の最初の日が何であるかを取得します。 |
abstract int |
getGreatestMinimum(int field)
指定されたフィールドの最小値が変化する場合、その最大値を取得します。 |
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)
指定されたフィールドの最大値が変化する場合、その最小値を取得します。 |
abstract int |
getMaximum(int field)
指定された時間フィールドの最大値を取得します。 |
int |
getMinimalDaysInFirstWeek()
年の最初の週に必要な最小日数を取得します。 |
abstract int |
getMinimum(int field)
指定された時間フィールドの最小値を取得します。 |
Date |
getTime()
Calendar の現在時刻を取得します。 |
long |
getTimeInMillis()
Calendar の現在時刻を long で取得します。 |
TimeZone |
getTimeZone()
タイムゾーンを取得します。 |
int |
hashCode()
このカレンダのハッシュコードを返します。 |
protected int |
internalGet(int field)
指定された時間フィールドの値を取得します。 |
boolean |
isLenient()
日付/時刻の解釈が厳密でないかどうかを指定します。 |
boolean |
isSet(int field)
指定された時間フィールドに値が設定されているかどうかを判別します。 |
abstract void |
roll(int field,
boolean up)
時間フィールドをローリングする関数です。 |
void |
roll(int field,
int amount)
時間フィールドをローリングする関数です。 |
void |
set(int field,
int value)
時間フィールドに、指定された値を設定します。 |
void |
set(int year,
int month,
int date)
フィールド YEAR、MONTH、および DATE の値を設定します。 |
void |
set(int year,
int month,
int date,
int hour,
int minute)
フィールド YEAR、MONTH、DATE、HOUR、および MINUTE の値を設定します。 |
void |
set(int year,
int month,
int date,
int hour,
int minute,
int second)
フィールド YEAR、MONTH、DATE、HOUR、MINUTE、および SECOND の値を設定します。 |
void |
setFirstDayOfWeek(int value)
週の最初の日が何であるかを設定します。 |
void |
setLenient(boolean lenient)
日付/時刻の解釈を厳密に行うかどうかを設定します。 |
void |
setMinimalDaysInFirstWeek(int value)
年の最初の週に必要な最小日数を設定します。 |
void |
setTime(Date date)
Calendar の現在の時刻を、指定された Date にします。 |
void |
setTimeInMillis(long millis)
Calendar の現在時刻を、指定された long 値から設定します。 |
void |
setTimeZone(TimeZone value)
指定されたタイムゾーン値を使用してタイムゾーンを設定します。 |
String |
toString()
カレンダの文字列表現を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
---|
public static final int ERA
get
および set
のためのフィールド値で、ユリウス暦の AD または BC などの年代を示します。これはカレンダ固有の値です。サブクラスのドキュメントを参照してください。
GregorianCalendar.AD
,
GregorianCalendar.BC
,
定数フィールド値public static final int YEAR
get
および set
のための、年を示すフィールド値です。これはカレンダ固有の値です。サブクラスのドキュメントを参照してください。
public static final int MONTH
get
および set
のための、月を示すフィールド値です。これはカレンダ固有の値です。年の最初の月は JANUARY
で 、0 となります。最後の月は、1 年の月の数によります。
JANUARY
,
FEBRUARY
,
MARCH
,
APRIL
,
MAY
,
JUNE
,
JULY
,
AUGUST
,
SEPTEMBER
,
OCTOBER
,
NOVEMBER
,
DECEMBER
,
UNDECIMBER
,
定数フィールド値public static final int WEEK_OF_YEAR
get
および set
のためのフィールド値で、現在の年の何週目かを示します。getFirstDayOfWeek()
および getMinimalDaysInFirstWeek()
で定義される年の最初の週には、値 1 が使用されます。サブクラスでは、年の最初の週より前の日に対して WEEK_OF_YEAR
の値が定義されます。
getFirstDayOfWeek()
,
getMinimalDaysInFirstWeek()
,
定数フィールド値public static final int WEEK_OF_MONTH
get
および set
のためのフィールド値で、現在の月の何週目かを示します。getFirstDayOfWeek()
および getMinimalDaysInFirstWeek()
で定義される月の最初の週には、値 1 が使用されます。サブクラスでは、月の最初の週より前の日に対して WEEK_OF_MONTH
の値が定義されます。
getFirstDayOfWeek()
,
getMinimalDaysInFirstWeek()
,
定数フィールド値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 が使用されます。
DATE
,
定数フィールド値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
になります。
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
になります。
AM
,
PM
,
HOUR
,
定数フィールド値public static final int HOUR
get
および set
のためのフィールド値で、午前または午後の何時かを示します。HOUR
は 12 時間制です。たとえば、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 になります。
HOUR
,
定数フィールド値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 JANUARY
MONTH
フィールドの値です。
public static final int FEBRUARY
MONTH
フィールドの値です。
public static final int MARCH
MONTH
フィールドの値です。
public static final int APRIL
MONTH
フィールドの値です。
public static final int MAY
MONTH
フィールドの値です。
public static final int JUNE
MONTH
フィールドの値です。
public static final int JULY
MONTH
フィールドの値です。
public static final int AUGUST
MONTH
フィールドの値です。
public static final int SEPTEMBER
MONTH
フィールドの値です。
public static final int OCTOBER
MONTH
フィールドの値です。
public static final int NOVEMBER
MONTH
フィールドの値です。
public static final int DECEMBER
MONTH
フィールドの値です。
public static final int UNDECIMBER
MONTH
フィールドの値です。GregorianCalendar
ではこの値は使いませんが、太陰暦で使用します。
public static final int AM
AM_PM
フィールドの値です。
public static final int PM
AM_PM
フィールドの値です。
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()
TimeZone.getDefault()
protected Calendar(TimeZone zone, Locale aLocale)
zone
- 使用するタイムゾーンaLocale
- 週のデータに使用するロケールメソッドの詳細 |
---|
public static Calendar getInstance()
Calendar
は、デフォルトロケールを持つデフォルトタイムゾーンの現在時刻に基づいています。
public static Calendar getInstance(TimeZone zone)
Calendar
は、デフォルトロケールを持つデフォルトタイムゾーンの現在時刻に基づいています。
zone
- 使用するタイムゾーン
public static Calendar getInstance(Locale aLocale)
Calendar
は、デフォルトロケールを持つ指定されたタイムゾーンの現在時刻に基づいています。
aLocale
- 週のデータに使用するロケール
public static Calendar getInstance(TimeZone zone, Locale aLocale)
Calendar
は、指定されたロケールを持つデフォルトのタイムゾーンの現在時刻に基づいています。
zone
- 使用するタイムゾーンaLocale
- 週のデータに使用するロケール
public static Locale[] getAvailableLocales()
protected abstract void computeTime()
fields[]
の現在のフィールド値をミリ秒の時刻値 time
に変換します。
protected abstract void computeFields()
time
を fields[]
内のフィールド値に変換します。これによって、時間フィールドの値を、カレンダに設定されている新しい時刻と同期させることができます。時間は最初に再計算されません。時間、フィールドの順に再計算するには、complete
メソッドを呼び出します。
complete()
public final Date getTime()
setTime(java.util.Date)
,
getTimeInMillis()
public final void setTime(Date date)
注:Date(Long.MAX_VALUE)
または Date(Long.MIN_VALUE)
で setTime()
を呼び出すと、get()
から不正確なフィールド値が生じることがあります。
date
- 指定する DategetTime()
,
setTimeInMillis(long)
public long getTimeInMillis()
getTime()
,
setTimeInMillis(long)
public void setTimeInMillis(long millis)
millis
- エポックからの UTC ミリ秒値で表される新しい時刻setTime(java.util.Date)
,
getTimeInMillis()
public int get(int field)
field
- 指定する時間フィールド
ArrayIndexOutOfBoundsException
- 指定されたフィールドが範囲外の場合 (field < 0 || field >= FIELD_COUNT)protected final int internalGet(int field)
field
- 指定する時間フィールド
public void set(int field, int value)
field
- 指定する時間フィールドvalue
- 指定された時間フィールドに設定する値
ArrayIndexOutOfBoundsException
- 指定されたフィールドが範囲外の場合 (field < 0 || field >= FIELD_COUNT)public final void set(int year, int month, int date)
clear
を呼び出します。
year
- YEAR 時間フィールドに設定する値month
- MONTH 時間フィールドに設定する値
Month 値は 0 から始まる (1 月 は 0 になる)date
- DATE 時間フィールドに設定する値public final void set(int year, int month, int date, int hour, int minute)
clear
を呼び出します。
year
- YEAR 時間フィールドに設定する値month
- MONTH 時間フィールドに設定する値
Month 値は 0 から始まる (1 月 は 0 になる)date
- DATE 時間フィールドに設定する値hour
- HOUR_OF_DAY 時間フィールドに設定する値minute
- MINUTE 時間フィールドに設定する値public final void set(int year, int month, int date, int hour, int minute, int second)
clear
を呼び出します。
year
- YEAR 時間フィールドに設定する値month
- MONTH 時間フィールドに設定する値
Month 値は 0 から始まる (1 月 は 0 になる)date
- DATE 時間フィールドに設定する値hour
- HOUR_OF_DAY 時間フィールドに設定する値minute
- MINUTE 時間フィールドに設定する値second
- SECOND 時間フィールドに設定する値public final void clear()
public final void clear(int field)
field
- クリアする時間フィールドpublic final boolean isSet(int field)
protected void complete()
public boolean equals(Object obj)
null
ではなく、このオブジェクトと同じカレンダを表す Calendar
オブジェクトである場合にだけ、結果は true
になります。
Object
内の equals
obj
- 比較対象のオブジェクト
true
、そうでない場合は false
Object.hashCode()
,
Hashtable
public int hashCode()
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean before(Object when)
when
- この Calendar と比較される Calendar
public boolean after(Object when)
when
- この Calendar と比較される Calendar
public abstract void add(int field, int amount)
add(Calendar.DATE, -5)
field
- 時間フィールドamount
- フィールドに追加される日付または時刻の量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、そうでない場合は falseadd(int, int)
,
set(int, int)
public void roll(int field, int amount)
field
- 時間フィールドamount
- field
に追加する指定された量add(int, int)
,
set(int, int)
public void setTimeZone(TimeZone value)
value
- 指定するタイムゾーンpublic TimeZone getTimeZone()
public void setLenient(boolean lenient)
DateFormat.setLenient(boolean)
public boolean isLenient()
public void setFirstDayOfWeek(int value)
value
- 指定された週の最初の日public int getFirstDayOfWeek()
public void setMinimalDaysInFirstWeek(int value)
value
- 年の最初の週に必要な指定された最小日数public int getMinimalDaysInFirstWeek()
public abstract int getMinimum(int field)
field
- 指定する時間フィールド
public abstract int getMaximum(int field)
field
- 指定する時間フィールド
public abstract int getGreatestMinimum(int field)
field
- 指定する時間フィールド
public abstract int getLeastMaximum(int field)
field
- 指定する時間フィールド
public int getActualMinimum(int field)
field
- 最小値を判定するフィールド
public int getActualMaximum(int field)
field
- 最大値を判定するフィールド
public Object clone()
Object
内の clone
Cloneable
public String toString()
null
にはなりません。
Object
内の toString
|
CDC 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |