Java プラットフォーム 1.2

java.util
クラス SimpleTimeZone

java.lang.Object
  |
  +--java.util.TimeZone
        |
        +--java.util.SimpleTimeZone

public class SimpleTimeZone
extends TimeZone

SimpleTimeZone は、グレゴリオ暦で使用されるタイムゾーンを表す TimeZone の具象サブクラスです。このクラスは歴史上の変更を扱いません。

dayOfWeekInMonth に負の値を指定すると、SimpleTimeZone では、月の最後から逆にカウントされます。たとえば、米国の夏時間は 10 月の最後の日曜日の午前 2 時に終了します。これは、dayOfWeekInMonth = -1 と指定します。

関連項目:
Calendar, GregorianCalendar, TimeZone, 直列化された形式

クラス java.util.TimeZone から継承したフィールド
LONG, SHORT
 
コンストラクタの概要
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)
          コンストラクタです。
 
メソッドの概要
 Object clone()
          Cloneable をオーバーライドします。
 boolean equals(Object obj)
          2 つの SimpleTimeZone オブジェクトが同じであるかをどうかを比較します。
 int getDSTSavings()
          DST 期間に時計を進める時間量をミリ秒単位で返します。
 int getOffset(int era, int year, int month, int day, int dayOfWeek, int millis)
          TimeZone をオーバーライドします。
 int getRawOffset()
          TimeZone をオーバーライドします。
 int hashCode()
          hashCode をオーバーライドします。
 boolean hasSameRules(TimeZone other)
          このゾーンが比較された別のゾーンと同じ規則とオフセットを持つ場合に true を返します。
 boolean inDaylightTime(Date date)
          TimeZone をオーバーライドします。
 void setDSTSavings(int millisSavedDuringDST)
          DST 期間に時計を進める時間量をミリ秒単位で設定します。
 void setEndRule(int month, int dayOfMonth, int time)
          DST 終了規則を月内の固定日に設定します。
 void setEndRule(int month, int dayOfWeekInMonth, int dayOfWeek, int time)
          夏時間の終了規則を設定します。
 void setEndRule(int month, int dayOfMonth, int dayOfWeek, int time, boolean after)
          8 日またはそれ以降の最初の月曜日というように、DST 終了規則を月内の指定日の前後の平日に設定します。
 void setRawOffset(int offsetMillis)
          TimeZone をオーバーライドします。
 void setStartRule(int month, int dayOfMonth, int time)
          DST 開始規則を月内の固定日に設定します。
 void setStartRule(int month, int dayOfWeekInMonth, int dayOfWeek, int time)
          夏時間の開始規則を設定します。
 void setStartRule(int month, int dayOfMonth, int dayOfWeek, int time, boolean after)
          8 日またはそれ以降の最初の月曜日というように、DST 開始規則を月内の指定日の前後の平日に設定します。
 void setStartYear(int year)
          夏時間が開始された年を設定します。
 String toString()
          タイムゾーンの文字列表現を返します。
 boolean useDaylightTime()
          TimeZone をオーバーライドします。
 
クラス java.util.TimeZone から継承したメソッド
getAvailableIDs, getAvailableIDs, getDefault, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getID, getTimeZone, setDefault, setID
 
クラス java.lang.Object から継承したメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

SimpleTimeZone

public SimpleTimeZone(int rawOffset,
                      String ID)
指定された GMT からのベースタイムゾーンオフセットとタイムゾーン ID で SimpleTimeZone を構築します。タイムゾーン ID は、TimeZone.getAvailableIDs を使用して取得できます。通常は、TimeZone の構築には TimeZone.getDefault を使用します。
パラメータ:
rawOffset - 指定された GMT へのベースタイムゾーンオフセット
ID - TimeZone.getAvailableIDs から取得されるタイムゾーン ID

SimpleTimeZone

public SimpleTimeZone(int rawOffset,
                      String ID,
                      int startMonth,
                      int startDay,
                      int startDayOfWeek,
                      int startTime,
                      int endMonth,
                      int endDay,
                      int endDayOfWeek,
                      int endTime)
指定された GMT からのベースタイムゾーンオフセット、タイムゾーン ID、夏時間を開始および終了する日時で SimpleTimeZone を構築します。タイムゾーン ID は、TimeZone.getAvailableIDs によって取得できます。通常は、TimeZone の作成には TimeZone.getDefault を使用します。夏時間を使用しないタイムゾーンには、このコンストラクタを使用しないでください。代わりに、SimpleTimeZone(rawOffset, ID) を使用します。 デフォルトでは、このコンストラクタは夏時間が始まる (終わる) 週規則を指定します。つまり、startDay が 1 で startDayOfWeek が SUNDAY の場合、夏時間の開始日は startMonth の第 1 日曜日になります。startDay が -1 の場合、最終日曜日を示します。ただし、特定のパラメータに負またはゼロの値を使用することにより、別の規則を指定できます。 月の日付 - 3 月 1 日などの正確な月日を指定するには、startDayOfWeek をゼロに設定します。 月の日付後の曜日 - 月の正確な日付またはそれ以降の最初の曜日を指定するには、曜日を負の値にします。たとえば、startDay が 5 で startDayOfWeek が -MONDAY の場合は、startMonth の 5 日またはそれ以降の最初の月曜日を示します。 月の日付前の曜日 - 月の正確な日付またはそれ以前のもっとも近い曜日を指定するには、曜日と日付を負の値にします。たとえば、startDay が -21 で startDayOfWeek が -WEDNESDAY の場合、startMonth の 21 日またはそれ以前のもっとも近い水曜日を示します。 上記の例では、startMonth、startDay、startDayOfWeek を扱っています。同じことが、endMonth、endDay、endDayOfWeek にも適用されます。
パラメータ:
rawOffset - 指定された GMT へのベースタイムゾーンオフセット
ID - TimeZone.getAvailableIDs から取得されるタイムゾーン ID
startMonth - 夏時間が始まる月。月は 0 から始まる。0 が 1 月
startDay - 夏時間が始まる週。メンバ説明の例を参照
startDayOfWeek - 夏時間が始まる曜日。メンバ説明の例を参照
startTime - ローカルウォール時間 (この場合は標準時間) での夏時間が始まる時刻。メンバ説明の例を参照
endMonth - 夏時間が終了する月。月は 0 から始まる。0 が 1 月
endDay - 夏時間が終了する週。メンバ説明の例を参照
endDayOfWeek - 夏時間が終了する曜日。メンバ説明の例を参照
endTime - ローカルウォール時間 (この場合は夏時間) での夏時間が終了する時間。メンバ説明の例を参照
例外:
IllegalArgumentException - 月、日付、曜日、または時刻のパラメータが開始規則または終了規則の範囲外の場合

SimpleTimeZone

public SimpleTimeZone(int rawOffset,
                      String ID,
                      int startMonth,
                      int startDay,
                      int startDayOfWeek,
                      int startTime,
                      int endMonth,
                      int endDay,
                      int endDayOfWeek,
                      int endTime,
                      int dstSavings)
コンストラクタです。このコンストラクタは 10 個の引数を持つコンストラクタと同じですが、dstSavings パラメータもとります。
パラメータ:
dstSavings - DST 期間に繰り上げられるミリ秒単位の時間量
例外:
IllegalArgumentException - 月、日付、曜日、または時刻のパラメータが開始規則または終了規則の範囲外の場合
メソッドの詳細

setStartYear

public void setStartYear(int year)
夏時間が開始された年を設定します。
パラメータ:
year - 夏時間が開始された年

setStartRule

public void setStartRule(int month,
                         int dayOfWeekInMonth,
                         int dayOfWeek,
                         int time)
夏時間の開始規則を設定します。たとえば、米国の夏時間は、4 月の第 1 日曜日、米国標準時の午前 2 時に始まります。したがって、以下を呼び出して開始規則を設定できます。

setStartRule (TimeFields.APRIL, 1, TimeFields.SUNDAY, 2*60*60*1000);

パラメータ:
month - 夏時間が始まる月。月は 0 から始まる。0 が 1 月
dayOfWeekInMonth - 夏時間が始まる週。メンバ説明の例を参照
dayOfWeek - 夏時間が始まる曜日。メンバ説明の例を参照
time - ローカルウォール時間 (この場合は標準時間) での夏時間が始まる時刻。メンバ説明の例を参照
例外:
IllegalArgumentException - month、dayOfWeekInMonth、dayOfWeek、または time パラメータが範囲外の場合

setStartRule

public void setStartRule(int month,
                         int dayOfMonth,
                         int time)
DST 開始規則を月内の固定日に設定します。
パラメータ:
month - この規則が適用される月。月は 0 から始まる
dayOfMonth - その月の日付。日付は 1 から始まる
time - ローカルウォール時間 (この場合は標準時間) での DST が始まる時刻。午前 0 時からのミリ秒で指定する
例外:
IllegalArgumentException - month、dayOfMonth、または time パラメータが範囲外の場合

setStartRule

public void setStartRule(int month,
                         int dayOfMonth,
                         int dayOfWeek,
                         int time,
                         boolean after)
8 日またはそれ以降の最初の月曜日というように、DST 開始規則を月内の指定日の前後の平日に設定します。
パラメータ:
month - この規則が適用される月。0 から始まる
dayOfMonth - その月内の日付。1 から始まる
dayOfWeek - この規則が適用される曜日
time - ローカルウォール時間 (この場合は標準時間) での DST が始まる時刻。午前 0 時からのミリ秒で指定する
after - true の場合、この規則は dayOfMonth またはそれ以降の最初の dayOfWeek を選択する。false の場合、この規則は dayOfMonth またはそれ以前の最後の dayOfWeek を選択する
例外:
IllegalArgumentException - month、dayOfMonth、dayOfWeek、または time パラメータが範囲外の場合

setEndRule

public void setEndRule(int month,
                       int dayOfWeekInMonth,
                       int dayOfWeek,
                       int time)
夏時間の終了規則を設定します。たとえば、米国の夏時間は 10 月の最後の日曜、米国標準時の午前 2 時に終わります。したがって、以下を呼び出して終了規則を設定できます。

setEndRule(TimeFields.OCTOBER, -1, TimeFields.SUNDAY, 2*60*60*1000);

パラメータ:
month - 夏時間が終わる月。月は 0 から始まる。0 が 1 月
dayOfWeekInMonth - 夏時間が終わる週。メンバ説明の例を参照
dayOfWeek - 夏時間が終わる曜日。メンバ説明の例を参照
time - ローカルウォール時間 (この場合は夏時間) での夏時間が終わる時刻。メンバ説明の例を参照
例外:
IllegalArgumentException - month、dayOfWeekInMonth、dayOfWeek、または time パラメータが範囲外の場合

setEndRule

public void setEndRule(int month,
                       int dayOfMonth,
                       int time)
DST 終了規則を月内の固定日に設定します。
パラメータ:
month - この規則が適用される月。月は 0 から始まる
dayOfMonth - その月の日付。日付は 1 から始まる
time - ローカルウォール時間 (この場合は夏時間) での DST が終わる時刻。午前 0 時からのミリ秒で指定する
例外:
IllegalArgumentException - month、dayOfMonth、または time パラメータが範囲外の場合

setEndRule

public void setEndRule(int month,
                       int dayOfMonth,
                       int dayOfWeek,
                       int time,
                       boolean after)
8 日またはそれ以降の最初の月曜日というように、DST 終了規則を月内の指定日の前後の平日に設定します。
パラメータ:
month - この規則が適用される月。0 から始まる
dayOfMonth - その月内の日付。1 から始まる
dayOfWeek - この規則が適用される曜日
time - ローカルウォール時間 (この場合は夏時間) での DST が終わる時刻。午前 0 時からのミリ秒で指定する
after - true の場合、この規則は dayOfMonth またはそれ以降の最初の dayOfWeek を選択する。false の場合、この規則は dayOfMonth またはそれ以前の最後の dayOfWeek を選択する
例外:
IllegalArgumentException - month、dayOfMonth、dayOfWeek、または time パラメータが範囲外の場合

getOffset

public int getOffset(int era,
                     int year,
                     int month,
                     int day,
                     int dayOfWeek,
                     int millis)
TimeZone をオーバーライドします。夏時間の場合に変更される、現在の日付のオフセットを取得します。これは、ローカルタイムを取得するために UTC に追加されるオフセットです。夏時間の場合に変更される、現在の日付のタイムゾーンオフセットを取得します。これは、ローカルタイムを取得するために UTC に追加されるオフセットです。開始月と終了月は異なるものと仮定します。このメソッドは、2 月の末日 (たとえば、2 月の最終日曜) または 3 月の開始日 (たとえば、 3 月 1 日) で始まる規則に対して間違った結果を返す場合があります。この間違いを避けるには、代わりに Calendar.get(ZONE_OFFSET) + Calendar.get(DST_OFFSET) を使用します。
パラメータ:
era - 指定する日付の年号
year - 指定する日付の年
month - 指定する日付の月。月は 0 から始まる。0 が 1 月
day - 指定する日付の日
dayOfWeek - 指定する日付の曜日
millis - 標準ローカルタイムでの、指定された日のミリ秒
戻り値:
ローカルタイムを取得するのに GMT に追加されるオフセット
例外:
IllegalArgumentException - era、month、day、dayOfWeek、または millis パラメータが範囲外の場合
オーバーライド:
クラス TimeZone 内の getOffset

getRawOffset

public int getRawOffset()
TimeZone をオーバーライドします。このタイムゾーンの GMT オフセットを取得します。
オーバーライド:
クラス TimeZone 内の getRawOffset

setRawOffset

public void setRawOffset(int offsetMillis)
TimeZone をオーバーライドします。GMT へのベースタイムゾーンオフセットを設定します。これは、ローカルタイムを取得するために UTC に追加されるオフセットです。パラメータの詳細は、TimeZone.setRawOffset を参照してください。
オーバーライド:
クラス TimeZone 内の setRawOffset

setDSTSavings

public void setDSTSavings(int millisSavedDuringDST)
DST 期間に時計を進める時間量をミリ秒単位で設定します。
パラメータ:
millisSavedDuringDST - 夏時間規則が始まるときに標準時から進めるミリ秒単位の時間量。正の数値で、通常は 1 時間 (3600000)

getDSTSavings

public int getDSTSavings()
DST 期間に時計を進める時間量をミリ秒単位で返します。
戻り値:
夏時間規則が始まるときに標準時から進めるミリ秒単位の時間量。正の数値で、通常は 1 時間 (3600000)

useDaylightTime

public boolean useDaylightTime()
TimeZone をオーバーライドします。このタイムゾーンが夏時間を使用しているかどうかを問い合わせます。
オーバーライド:
クラス TimeZone 内の useDaylightTime

inDaylightTime

public boolean inDaylightTime(Date date)
TimeZone をオーバーライドします。指定された日付が夏時間の期間内かどうかを問い合わせます。
オーバーライド:
クラス TimeZone 内の inDaylightTime

clone

public Object clone()
Cloneable をオーバーライドします。
オーバーライド:
クラス TimeZone 内の clone

hashCode

public int hashCode()
hashCode をオーバーライドします。SimpleDateFormat オブジェクトのハッシュコードを生成します。
オーバーライド:
クラス Object 内の hashCode

equals

public boolean equals(Object obj)
2 つの SimpleTimeZone オブジェクトが同じであるかをどうかを比較します。
パラメータ:
obj - 比較される SimpleTimeZone オブジェクト
戻り値:
指定された obj がこの SimpleTimeZone オブジェクトと同じである場合は true、そうでない場合は false
オーバーライド:
クラス Object 内の equals

hasSameRules

public boolean hasSameRules(TimeZone other)
このゾーンが比較された別のゾーンと同じ規則とオフセットを持つ場合に true を返します。
パラメータ:
other - 比較される TimeZone オブジェクト
戻り値:
指定されたゾーンがこのゾーンと同じ規則とオフセットを持つ場合は true
オーバーライド:
クラス TimeZone 内の hasSameRules

toString

public String toString()
タイムゾーンの文字列表現を返します。
戻り値:
タイムゾーンの文字列表現
オーバーライド:
クラス Object 内の toString

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.