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, toZoneIdpublic 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_TIMEpublic 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、クラスTimeZonedate - タイムゾーン・オフセットが見つかった時間Calendar.ZONE_OFFSET, Calendar.DST_OFFSETpublic 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、クラスTimeZoneera - 指定する日付の年号。year - 指定する日付の年。month - 指定する日付の月。 月は 0 から始まる。 0 が 1 月 day - 指定する日付の日。dayOfWeek - 指定する日付の曜日。millis - 標準ローカル・タイムでの、指定された日のミリ秒。IllegalArgumentException - era、month、day、dayOfWeek、またはmillisパラメータが範囲外の場合Calendar.ZONE_OFFSET, Calendar.DST_OFFSETpublic int getRawOffset()
getRawOffset、クラスTimeZonesetRawOffset(int)public void setRawOffset(int offsetMillis)
setRawOffset、クラスTimeZoneoffsetMillis - 指定されたGMTへのベース・タイムゾーン・オフセットgetRawOffset()public void setDSTSavings(int millisSavedDuringDST)
millisSavedDuringDST - 夏時間ルールが有効になった時に標準時間に対して進める時間のミリ秒数。 正の数値で、通常は1時間(3600000) getDSTSavings()public int getDSTSavings()
getDSTSavings、クラスTimeZonesetDSTSavings(int)public boolean useDaylightTime()
useDaylightTime、クラスTimeZoneTimeZone.inDaylightTime(Date), Calendar.DST_OFFSETpublic boolean observesDaylightTime()
SimpleTimeZoneが夏時間に従う場合にtrueを返します。 このメソッドは、useDaylightTime()と同等です。 observesDaylightTime、クラスTimeZoneSimpleTimeZoneが夏時間に従う場合はtrue、それ以外の場合はfalse。TimeZone.useDaylightTime(), TimeZone.inDaylightTime(Date), Calendar.DST_OFFSETpublic boolean inDaylightTime(Date date)
inDaylightTime、クラスTimeZonedate - 指定されたDatepublic Object clone()
SimpleTimeZoneインスタンスの複製を返します。public int hashCode()
hashCode、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
SimpleTimeZoneオブジェクトが同じであるかをどうかを比較します。equals、クラスObjectobj - 比較対象のSimpleTimeZoneオブジェクト。objがこのSimpleTimeZoneオブジェクトと同じである場合はtrue、そうでない場合はfalse。Object.hashCode()、HashMappublic boolean hasSameRules(TimeZone other)
trueを返します。hasSameRules、クラスTimeZoneother - 比較対象のTimeZoneオブジェクトtrue バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。