public class SimpleTimeZone extends TimeZone
SimpleTimeZone
は、グレゴリオ暦で使用するためのタイムゾーンを表すTimeZone
の具象サブクラスです。クラスは直接計算されたオフセットと呼ばれる、GMTからのオフセット、および夏時間スケジュールの開始ルールおよび終了ルールを保持します。各々の単一値を保持するだけなので、GMTからのオフセットおよび夏時間スケジュールの歴史的変化を扱うことはできませんが、夏時間スケジュールが実際に開始する年をsetStartYear
メソッドで指定することはできます。
夏時間スケジュールを備えたSimpleTimeZone
を構築するには、start-ruleとend-ruleのルールセットでスケジュールを記述します。夏時間が開始または終了する日付は、month、day-of-month、およびday-of-week値を組み合わせて指定します。month値は、Calendar.MARCH
など、CalendarのMONTH
フィールド値によって表されます。day-of-week値は、SUNDAY
など、CalendarのDAY_OF_WEEK
値によって表されます。値の組み合わせの意味は次のとおりです。
MARCH
に、day-of-monthを1に、day-of-weekを0に設定します。DAY_OF_WEEK
フィールド値を設定します。たとえば、4月の第2日曜日を指定するには、monthをAPRIL
に、day-of-monthを8に、day-of-weekを-
SUNDAY
に設定します。MARCH
に、day-of-monthを -21に、day-of-weekを-
WEDNESDAY
に設定します。 DAY_OF_WEEK
値に、day-of-monthを -1に設定します。たとえば、10月の最終日曜日を指定するには、monthをOCTOBER
に、day-of-weekをSUNDAY
に、day-of-monthを -1に設定します。 WALL_TIME
、STANDARD_TIME
、およびUTC_TIME
です。たとえば、夏時間がウォール時計時間の午前2:00で終了する場合、WALL_TIME
モードの7200000ミリ秒で指定できます。この場合、end-ruleのウォール時計時間は夏時間と同じものになります。
次に、タイムゾーン・オブジェクトを構築するパラメータの例を示します。
// Base GMT offset: -8:00
// DST starts: at 2:00am in standard time
// on the first Sunday in April
// DST ends: at 2:00am in daylight time
// on the last Sunday in October
// Save: 1 hour
SimpleTimeZone(-28800000,
"America/Los_Angeles",
Calendar.APRIL, 1, -Calendar.SUNDAY,
7200000,
Calendar.OCTOBER, -1, Calendar.SUNDAY,
7200000,
3600000)
// Base GMT offset: +1:00
// DST starts: at 1:00am in UTC time
// on the last Sunday in March
// DST ends: at 1:00am in UTC time
// on the last Sunday in October
// Save: 1 hour
SimpleTimeZone(3600000,
"Europe/Paris",
Calendar.MARCH, -1, Calendar.SUNDAY,
3600000, SimpleTimeZone.UTC_TIME,
Calendar.OCTOBER, -1, Calendar.SUNDAY,
3600000, SimpleTimeZone.UTC_TIME,
3600000)
これらのパラメータのルールは、setStartRule
などの、ルール設定メソッドにも適用されます。Calendar
, GregorianCalendar
, TimeZone
, 直列化された形式修飾子と型 | フィールドと説明 |
---|---|
static int |
STANDARD_TIME
標準時間として指定された、開始時間または終了時間のモード定数。
|
static int |
UTC_TIME
UTCとして指定された開始時間または終了時間のモードの定数。
|
static int |
WALL_TIME
ウォール時計時間として指定した開始時間または終了時間のモードの定数。
|
コンストラクタと説明 |
---|
SimpleTimeZone(int rawOffset, String ID)
夏時間を含まずに、GMTからの指定されたベース・タイムゾーン・オフセットとタイムゾーンIDにより、SimpleTimeZoneを構築します。
|
SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime)
GMTからの指定されたベース・タイムゾーン・オフセット、タイムゾーンID、および夏時間の開始ルールおよび終了ルールにより、SimpleTimeZoneを構築します。
|
SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime, int dstSavings)
GMTからの指定されたベース・タイムゾーン・オフセット、タイムゾーンID、および夏時間の開始ルールおよび終了ルールにより、SimpleTimeZoneを構築します。
|
SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int startTimeMode, int endMonth, int endDay, int endDayOfWeek, int endTime, int endTimeMode, int dstSavings)
GMTからの指定されたベース・タイムゾーン・オフセット、タイムゾーンID、および夏時間の開始ルールおよび終了ルールにより、SimpleTimeZoneを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
Object |
clone()
この
SimpleTimeZone インスタンスの複製を返します。 |
boolean |
equals(Object obj)
2つの
SimpleTimeZone オブジェクトが同じであるかをどうかを比較します。 |
int |
getDSTSavings()
夏時間に時計を進める時間量をミリ秒単位で返します。
|
int |
getOffset(int era, int year, int month, int day, int dayOfWeek, int millis)
指定した日付および時間について、直接計算したオフセットおよび夏時間の影響を考慮して、ローカル時間とUTCの差異をミリ秒単位で返します。
|
int |
getOffset(long date)
指定された時間でUTCからのこのタイムゾーンのオフセットを返します。
|
int |
getRawOffset()
このタイムゾーンのGMTオフセットを取得します。
|
int |
hashCode()
SimpleDateFormatオブジェクトのハッシュ・コードを生成します。
|
boolean |
hasSameRules(TimeZone other)
このゾーンが比較された別のゾーンと同じルールとオフセットを持つ場合に
true を返します。 |
boolean |
inDaylightTime(Date date)
指定された日付がサマー・タイムの期間内かどうかを問い合わせます。
|
boolean |
observesDaylightTime()
この
SimpleTimeZone が夏時間に従う場合にtrue を返します。 |
void |
setDSTSavings(int millisSavedDuringDST)
夏時間の期間に時計を進める時間量をミリ秒単位で設定します。
|
void |
setEndRule(int endMonth, int endDay, int endTime)
夏時間の終了ルールを月内の固定日に設定します。
|
void |
setEndRule(int endMonth, int endDay, int endDayOfWeek, int endTime)
夏時間の終了ルールを設定します。
|
void |
setEndRule(int endMonth, int endDay, int endDayOfWeek, int endTime, boolean after)
8日またはそれ以降の最初の月曜日というように、夏時間の終了ルールを月内の指定日の前後の平日に設定します。
|
void |
setRawOffset(int offsetMillis)
GMTへのベース・タイムゾーン・オフセットを設定します。
|
void |
setStartRule(int startMonth, int startDay, int startTime)
夏時間の開始ルールを月内の固定日に設定します。
|
void |
setStartRule(int startMonth, int startDay, int startDayOfWeek, int startTime)
夏時間の開始ルールを設定します。
|
void |
setStartRule(int startMonth, int startDay, int startDayOfWeek, int startTime, boolean after)
8日またはそれ以降の最初の月曜日というように、夏時間の開始ルールを月内の指定日の前後の平日に設定します。
|
void |
setStartYear(int year)
夏時間が開始された年を設定します。
|
String |
toString()
このタイムゾーンの文字列表現を返します。
|
boolean |
useDaylightTime()
現在の所在地のタイムゾーンが夏時間を使用しているかどうかを問い合わせます。
|
getAvailableIDs, getAvailableIDs, getDefault, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getID, getTimeZone, getTimeZone, setDefault, setID, toZoneId
public static final int WALL_TIME
public static final int STANDARD_TIME
public static final int UTC_TIME
public SimpleTimeZone(int rawOffset, String ID)
rawOffset
- GMTからのベース・タイムゾーン・オフセット(ミリ秒単位)。ID
- このインスタンスに指定されたタイムゾーン名。public SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime)
startTime
およびendTime
の両方がウォール時計時間で表されるように指定します。夏時間の量は、3600000ミリ秒(つまり1時間)であると仮定します。このコンストラクタは次と同じです。
SimpleTimeZone(rawOffset,
ID,
startMonth,
startDay,
startDayOfWeek,
startTime,
SimpleTimeZone.WALL_TIME
,
endMonth,
endDay,
endDayOfWeek,
endTime,
SimpleTimeZone.WALL_TIME
,
3600000)
rawOffset
- GMTからの指定されたベース・タイムゾーン・オフセット。ID
- このオブジェクトに指定されたタイムゾーンID。startMonth
- 夏時間が始まる月。月はMONTH
フィールド値です(0ベース。たとえば、1月が0)。startDay
- 夏時間が開始する月の日付。このパラメータの特例については、クラスの説明を参照startDayOfWeek
- 夏時間が開始する曜日。このパラメータの特例については、クラスの説明を参照startTime
- ローカル・ウォール時計時間での夏時間の開始時間(1日内のミリ秒)。この場合、これはローカル標準時間になる。endMonth
- 夏時間が終わる月。月はMONTH
フィールド値です(0ベース。たとえば、10月が9)。endDay
- 夏時間が終了する月の日付。このパラメータの特例については、クラスの説明を参照endDayOfWeek
- 夏時間が終了する曜日。このパラメータの特例については、クラスの説明を参照endTime
- ローカル・ウォール時計時間での夏時間の終了時間(1日内のミリ秒)。この場合、これはローカル夏時間になる。IllegalArgumentException
- 開始ルールまたは終了ルールの月、日、曜日、時間のいずれかのパラメータが範囲外の場合public SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime, int dstSavings)
startTime
およびendTime
の両方がウォール時計時間で表されると仮定されます。このコンストラクタは次と同じです。
SimpleTimeZone(rawOffset,
ID,
startMonth,
startDay,
startDayOfWeek,
startTime,
SimpleTimeZone.WALL_TIME
,
endMonth,
endDay,
endDayOfWeek,
endTime,
SimpleTimeZone.WALL_TIME
,
dstSavings)
rawOffset
- GMTからの指定されたベース・タイムゾーン・オフセット。ID
- このオブジェクトに指定されたタイムゾーンID。startMonth
- 夏時間が始まる月。月はMONTH
フィールド値です(0ベース。たとえば、1月が0)。startDay
- 夏時間が開始する月の日付。このパラメータの特例については、クラスの説明を参照startDayOfWeek
- 夏時間が開始する曜日。このパラメータの特例については、クラスの説明を参照startTime
- ローカル・ウォール時計時間での夏時間の開始時間。この場合、これはローカル標準時間になる。endMonth
- 夏時間が終わる月。月はMONTH
フィールド値です(0ベース。たとえば、10月が9)。endDay
- 夏時間が終了する月の日付。このパラメータの特例については、クラスの説明を参照endDayOfWeek
- 夏時間が終了する曜日。このパラメータの特例については、クラスの説明を参照endTime
- ローカル・ウォール時計時間での夏時間の終了時間。この場合、これはローカル夏時間になる。dstSavings
- 夏時間の期間中に繰り上げられるミリ秒単位の時間量。IllegalArgumentException
- 開始ルールまたは終了ルールの月、日、曜日、時間のいずれかのパラメータが範囲外の場合public SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int startTimeMode, int endMonth, int endDay, int endDayOfWeek, int endTime, int endTimeMode, int dstSavings)
startTime
およびendTime
のモードなど、フル・セットの開始ルールと終了ルールのパラメータを取ります。モードはwall time
、standard time
、またはUTC time
のいずれかを指定します。rawOffset
- GMTからの指定されたベース・タイムゾーン・オフセット。ID
- このオブジェクトに指定されたタイムゾーンID。startMonth
- 夏時間が始まる月。月はMONTH
フィールド値です(0ベース。たとえば、1月が0)。startDay
- 夏時間が開始する月の日付。このパラメータの特例については、クラスの説明を参照startDayOfWeek
- 夏時間が開始する曜日。このパラメータの特例については、クラスの説明を参照startTime
- startTimeMode
で指定された時間モードでの夏時間の開始時間。startTimeMode
- startTimeによって指定された開始時間のモード。endMonth
- 夏時間が終わる月。月はMONTH
フィールド値です(0ベース。たとえば、10月が9)。endDay
- 夏時間が終了する月の日付。このパラメータの特例については、クラスの説明を参照endDayOfWeek
- 夏時間が終了する曜日。このパラメータの特例については、クラスの説明を参照endTime
- endTimeMode
で指定された時間モードでの夏時間の終了時間。endTimeMode
- endTimeによって指定された終了時間のモードdstSavings
- 夏時間の期間中に繰り上げられるミリ秒単位の時間量。IllegalArgumentException
- 開始ルールまたは終了ルールの月、日、曜日、時間モード、時間のいずれかのパラメータが範囲外の場合、または時間モードの値が無効である場合。WALL_TIME
, STANDARD_TIME
, UTC_TIME
public void setStartYear(int year)
year
- 夏時間が始まる年。public void setStartRule(int startMonth, int startDay, int startDayOfWeek, int startTime)
setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2*60*60*1000);
startMonth
- 夏時間が始まる月。月はMONTH
フィールド値です(0ベース。たとえば、1月が0)。startDay
- 夏時間が開始する月の日付。このパラメータの特例については、クラスの説明を参照startDayOfWeek
- 夏時間が開始する曜日。このパラメータの特例については、クラスの説明を参照startTime
- ローカル・ウォール時計時間での夏時間の開始時間。この場合、これはローカル標準時間になる。IllegalArgumentException
- startMonth
、startDay
、startDayOfWeek
、またはstartTime
パラメータが範囲外の場合public void setStartRule(int startMonth, int startDay, int startTime)
setStartRule(startMonth, startDay, 0, startTime)
startMonth
- 夏時間が始まる月。月はMONTH
フィールド値です(0ベース。たとえば、1月が0)。startDay
- 夏時間が開始する月の日付。startTime
- ローカル・ウォール時計時間での夏時間の開始時間。この場合、これはローカル標準時間になる。このパラメータの特例については、クラスの説明を参照IllegalArgumentException
- startMonth
、startDayOfMonth
、またはstartTime
パラメータが範囲外の場合public void setStartRule(int startMonth, int startDay, int startDayOfWeek, int startTime, boolean after)
startMonth
- 夏時間が始まる月。月はMONTH
フィールド値です(0ベース。たとえば、1月が0)。startDay
- 夏時間が開始する月の日付。startDayOfWeek
- 夏時間が開始する曜日。startTime
- ローカル・ウォール時計時間での夏時間の開始時間。この場合、これはローカル標準時間になる。after
- trueの場合、このルールはdayOfMonth
またはそれ以降の最初のdayOfWeek
を選択する。falseの場合、このルールはdayOfMonth
またはそれ以前の最後のdayOfWeek
を選択する。IllegalArgumentException
- startMonth
、startDay
、startDayOfWeek
、またはstartTime
パラメータが範囲外の場合public void setEndRule(int endMonth, int endDay, int endDayOfWeek, int endTime)
setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2*60*60*1000);
endMonth
- 夏時間が終わる月。月はMONTH
フィールド値です(0ベース。たとえば、10月が9)。endDay
- 夏時間が終了する月の日付。このパラメータの特例については、クラスの説明を参照endDayOfWeek
- 夏時間が終了する曜日。このパラメータの特例については、クラスの説明を参照endTime
- ローカル・ウォール時計時間での夏時間の終了時間(1日内のミリ秒)。この場合、これはローカル夏時間になる。IllegalArgumentException
- endMonth
、endDay
、endDayOfWeek
、またはendTime
パラメータが範囲外の場合public void setEndRule(int endMonth, int endDay, int endTime)
setEndRule(endMonth, endDay, 0, endTime)
endMonth
- 夏時間が終わる月。月はMONTH
フィールド値です(0ベース。たとえば、10月が9)。endDay
- 夏時間が終了する月の日付。endTime
- ローカル・ウォール時計時間での夏時間の終了時間(1日内のミリ秒)。この場合、これはローカル夏時間になる。IllegalArgumentException
- endMonth
、endDay
、またはendTime
パラメータが範囲外の場合public void setEndRule(int endMonth, int endDay, int endDayOfWeek, int endTime, boolean after)
endMonth
- 夏時間が終わる月。月はMONTH
フィールド値です(0ベース。たとえば、10月が9)。endDay
- 夏時間が終了する月の日付。endDayOfWeek
- 夏時間が終了する曜日。endTime
- ローカル・ウォール時計時間での夏時間の終了時間(1日内のミリ秒)。この場合、これはローカル夏時間になる。after
- trueの場合、このルールはendDay
またはそれ以降の最初のendDayOfWeek
を選択する。falseの場合、このルールはその月のendDay
またはそれ以前の最後のendDayOfWeek
を選択する。IllegalArgumentException
- endMonth
、endDay
、endDayOfWeek
、またはendTime
パラメータが範囲外の場合public int getOffset(long date)
getOffset
、クラス: TimeZone
date
- タイムゾーン・オフセットが見つかった時間Calendar.ZONE_OFFSET
, Calendar.DST_OFFSET
public int getOffset(int era, int year, int month, int day, int dayOfWeek, int millis)
GregorianCalendar
オブジェクトが使用されます。デフォルトのGregorianCalendar
以外のカレンダで、このメソッドの結果を使用しないでください。
注: 通常、クライアントはこのメソッドを呼び出すのではなく、Calendar.get(ZONE_OFFSET)+Calendar.get(DST_OFFSET)
を使用すべきです。
getOffset
、クラス: TimeZone
era
- 指定する日付の年号。year
- 指定する日付の年。month
- 指定する日付の月。月は 0 から始まる。 0 が 1 月day
- 指定する日付の日。dayOfWeek
- 指定する日付の曜日。millis
- 標準ローカル・タイムでの、指定された日のミリ秒。IllegalArgumentException
- era
、month
、day
、dayOfWeek
、またはmillis
パラメータが範囲外の場合Calendar.ZONE_OFFSET
, Calendar.DST_OFFSET
public int getRawOffset()
getRawOffset
、クラス: TimeZone
setRawOffset(int)
public void setRawOffset(int offsetMillis)
setRawOffset
、クラス: TimeZone
offsetMillis
- 指定されたGMTへのベース・タイムゾーン・オフセットgetRawOffset()
public void setDSTSavings(int millisSavedDuringDST)
millisSavedDuringDST
- 夏時間ルールが有効になった時に標準時間に対して進める時間のミリ秒数。正の数値で、通常は1時間(3600000)getDSTSavings()
public int getDSTSavings()
getDSTSavings
、クラス: TimeZone
setDSTSavings(int)
public boolean useDaylightTime()
useDaylightTime
、クラス: TimeZone
TimeZone.inDaylightTime(Date)
, Calendar.DST_OFFSET
public boolean observesDaylightTime()
observesDaylightTime
、クラス: TimeZone
SimpleTimeZone
が夏時間に従う場合はtrue
、それ以外の場合はfalse
。TimeZone.useDaylightTime()
, TimeZone.inDaylightTime(Date)
, Calendar.DST_OFFSET
public boolean inDaylightTime(Date date)
inDaylightTime
、クラス: TimeZone
date
- 指定されたDatepublic Object clone()
SimpleTimeZone
インスタンスの複製を返します。public int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
SimpleTimeZone
オブジェクトが同じであるかをどうかを比較します。equals
、クラス: Object
obj
- 比較対象のSimpleTimeZone
オブジェクト。obj
がこのSimpleTimeZone
オブジェクトと同じである場合はtrue、そうでない場合はfalse。Object.hashCode()
, HashMap
public boolean hasSameRules(TimeZone other)
true
を返します。hasSameRules
、クラス: TimeZone
other
- 比較対象のTimeZoneオブジェクトtrue
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.