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 時で終了する場合、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, setDefault, setID
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, 2013, Oracle and/or its affiliates. All rights reserved.