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()
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, 2014, Oracle and/or its affiliates. All rights reserved.