- すべての実装されたインタフェース:
Serializable
,Cloneable
- 直系の既知のサブクラス:
SimpleTimeZone
TimeZone
は、タイムゾーン・オフセットを表します。また、サマー・タイムを認識します。
通常は、getDefault
を使用してTimeZone
を取得します。このメソッドは、プログラムを実行している場所のタイムゾーンに基づいたTimeZone
を作成します。 たとえば、日本で実行されているプログラムの場合、getDefault
は日本標準時を基にTimeZone
オブジェクトを作成します。
タイムゾーンIDを指定しgetTimeZone
を使用してTimeZone
を取得することもできます。 たとえば、合衆国太平洋標準時のタイムゾーンIDは、「America/Los_Angeles」です。 したがって、次のように入力して合衆国太平洋標準時のTimeZone
オブジェクトを取得できます。
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
getAvailableIDs
メソッドを使用して、サポートされているすべてのタイムゾーンIDを調べることができます。 サポートされているIDの中から、目的のTimeZone
を選択できます。 サポートされているIDのいずれかによって必要なタイムゾーンが表されていない場合は、カスタム・タイムゾーンIDを指定して、TimeZoneを生成することができます。 カスタム・タイムゾーンIDの構文は次の通りです。
「時間」は0から23の間、「分」/「秒」は00から59の間である必要があります。 たとえば、「GMT+10」と「GMT+0010」は、それぞれ、GMTより10時間および10分進んだ時間になります。CustomID:GMT
Sign Hours:
Minutes:
SecondsGMT
Sign Hours:
MinutesGMT
Sign Hours MinutesGMT
Sign Hours Sign: one of+ -
Hours: Digit Digit Digit Minutes: Digit Digit Seconds: Digit Digit Digit: one of0 1 2 3 4 5 6 7 8 9
フォーマットはロケールに依存せず、数字はUnicode標準のBasic Latinブロックの数字である必要があります。 サマー・タイムへの移行スケジュールは、カスタム・タイムゾーンIDでは指定できません。 指定された文字列が構文と一致しない場合は、"GMT"
が使用されます。
TimeZone
を作成するときは、指定されたカスタム・タイムゾーンIDは、次の構文で正規化されます。
たとえば、TimeZone.getTimeZone("GMT-8").getID()はGMT-08:00を返します。 ColonSeconds部分は、秒の値がゼロ以外の場合にのみ表示されます。NormalizedCustomID:GMT
Sign TwoDigitHours:
Minutes [ColonSeconds] Sign: one of+ -
TwoDigitHours: Digit Digit Minutes: Digit Digit ColonSeconds::
Digit Digit Digit: one of0 1 2 3 4 5 6 7 8 9
3文字のタイムゾーンID
JDK 1.1.xとの互換性のために、その他の3文字のタイムゾーンID (「PST」、「CTT」、「AST」など)もサポートされています。 ただし、複数のタイムゾーンに同じ省略形が使用されることが多く(「CST」はアメリカの「中央標準時」と「中国標準時」など)、Javaプラットフォームではその1つしか認識されないため、この使用は非推奨です。 非推奨の3文字のタイムゾーンIDとそのマッピングの完全なリストは、ZoneId.SHORT_IDS
で確認できます。 - 導入されたバージョン:
- 1.1
- 関連項目:
-
フィールドのサマリー
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明clone()
このTimeZone
のコピーを作成します。static String[]
サポートされる利用可能なIDをすべて取得します。static String[]
getAvailableIDs
(int rawOffset) ミリ秒単位で指定されたタイムゾーン・オフセットと一致するIDで使用可能なものを取得します。static TimeZone
Java仮想マシンのデフォルトのTimeZone
を取得します。final String
デフォルト・ロケールでのユーザーへの表示に適した、このTimeZone
の標準時の長い名前を返します。final String
getDisplayName
(boolean daylight, int style) デフォルト・ロケールでのユーザーへの表示に適した、このTimeZone
の指定されたstyle
での名前を返します。getDisplayName
(boolean daylight, int style, Locale locale) 指定されたlocale
でのユーザーへの表示に適した、このTimeZone
の指定されたstyle
での名前を返します。final String
getDisplayName
(Locale locale) 指定されたlocale
でのユーザーへの表示に適した、このTimeZone
の標準時の長い名前を返します。int
ローカル・ウォール時計時間を取得するために、ローカルの標準時間に追加する時間の量を返します。getID()
現在の所在地のタイムゾーンのIDを取得します。abstract int
getOffset
(int era, int year, int month, int day, int dayOfWeek, int milliseconds) 現在の日付のタイムゾーン・オフセットを返します。夏時間の期間内であれば修正されています。int
getOffset
(long date) 指定された日付でUTCからのこのタイムゾーンのオフセットを返します。abstract int
このタイムゾーンの標準時間を取得するために、UTCに追加するミリ秒単位の時間量を返します。static TimeZone
getTimeZone
(String ID) 指定されたIDのTimeZone
を取得します。static TimeZone
getTimeZone
(ZoneId zoneId) 指定されたzoneId
のTimeZone
を取得します。boolean
hasSameRules
(TimeZone other) このゾーンが比較される別のゾーンと同じルールとオフセットを持つ場合にtrueを返します。abstract boolean
inDaylightTime
(Date date) 指定されたdate
が、このタイムゾーンでは夏時間の期間内かどうかを問い合わせます。boolean
このTimeZone
が現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合にtrue
を返します。static void
setDefault
(TimeZone zone) getDefault
メソッドで返されるTimeZone
を設定します。void
タイムゾーンIDを設定します。abstract void
setRawOffset
(int offsetMillis) GMTへのベース・タイムゾーン・オフセットを設定します。toZoneId()
このTimeZone
オブジェクトをZoneId
に変換します。abstract boolean
このTimeZone
が夏時間を使用するかどうかを問い合わせます。
-
フィールド詳細
-
SHORT
public static final int SHORT「PST」などの短い名前を示すgetDisplayName()
のスタイル指示子です。- 導入されたバージョン:
- 1.2
- 関連項目:
-
LONG
public static final int LONG「Pacific Standard Time」などの長い名前を示すgetDisplayName()
のスタイル指示子です。- 導入されたバージョン:
- 1.2
- 関連項目:
-
-
コンストラクタの詳細
-
TimeZone
public TimeZone()唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
-
-
メソッドの詳細
-
getOffset
public abstract int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) 現在の日付のタイムゾーン・オフセットを返します。夏時間の期間内であれば修正されています。 これは、ローカル・タイムを取得するためにUTCに追加するオフセットです。基本となる
TimeZone
実装サブクラスが、夏時間スケジュールとGMTオフセットの歴史的変化をサポートする場合、このメソッドは歴史的に正確なオフセットを返します。- パラメータ:
era
- 指定する日付の年号。year
- 指定する日付の年。month
- 指定する日付の月。 月は 0 から始まる。 0 が 1 月day
- 指定する日付の日。dayOfWeek
- 指定する日付の曜日。milliseconds
- 標準ローカル・タイムでの、指定された日のミリ秒。- 戻り値:
- ローカル・タイムを取得するためにGMTに追加するミリ秒単位のオフセット
- 関連項目:
-
getOffset
public int getOffset(long date) 指定された日付でUTCからのこのタイムゾーンのオフセットを返します。 夏時間が指定された日付で実施されている場合、オフセット値は夏時間の量で調節されます。基本となるTimeZone実装サブクラスが、夏時間スケジュールとGMTオフセットの歴史的変化をサポートする場合、このメソッドは歴史的に正確なオフセット値を返します。
- パラメータ:
date
- 1970年1月1日00:00:00 GMTからの、ミリ秒単位で表された日付。- 戻り値:
- ローカル・タイムを取得するためにUTCに追加するミリ秒単位の時間の量
- 導入されたバージョン:
- 1.4
- 関連項目:
-
setRawOffset
public abstract void setRawOffset(int offsetMillis) GMTへのベース・タイムゾーン・オフセットを設定します。 これは、ローカル・タイムを取得するためにUTCに追加するオフセットです。基盤となる
TimeZone
実装サブクラスが、GMTオフセットの歴史的変化をサポートする場合、指定されたGMTオフセットが最新のGMTオフセットとして設定され、既知の最新GMTオフセット値との差を使用して、歴史上のすべてのGMTオフセット値が調整されます。- パラメータ:
offsetMillis
- 指定されたGMTへのベース・タイムゾーン・オフセット
-
getRawOffset
public abstract int getRawOffset()このタイムゾーンの標準時間を取得するために、UTCに追加するミリ秒単位の時間量を返します。 この値は夏時間によって影響を受けないので、直接計算したオフセットと呼ばれます。基本となる
TimeZone
実装サブクラスがGMTオフセットの歴史的変化をサポートする場合、メソッドは現在の日付の直接計算されたオフセット値を返します。 たとえばホノルルでは、1947年に直接計算されたオフセットがGMT-10:30からGMT-10:00に変更したので、このメソッドは常に -36000000ミリ秒(つまり -10時間)を返します。- 戻り値:
- UTCに追加される、ミリ秒単位の直接計算されたオフセット時間の量
- 関連項目:
-
getID
-
setID
public void setID(String ID) タイムゾーンIDを設定します。 タイムゾーン・オブジェクト内のほかのデータは変更されません。- 実装要件:
ID
がnull
の場合、デフォルトの実装ではNullPointerException
がスローされます- パラメータ:
ID
- 新しいタイムゾーンID。- 例外:
NullPointerException
-ID
がnull
の場合、このメソッドはNullPointerException
をスローする可能性があります
-
getDisplayName
public final String getDisplayName()デフォルト・ロケールでのユーザーへの表示に適した、このTimeZone
の標準時の長い名前を返します。このメソッドは、次と同等です。
getDisplayName(false,
LONG
, Locale.getDefault(Locale.Category.DISPLAY
));- 戻り値:
- デフォルト・ロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
- 導入されたバージョン:
- 1.2
- 関連項目:
-
getDisplayName
指定されたlocale
でのユーザーへの表示に適した、このTimeZone
の標準時の長い名前を返します。このメソッドは、次と同等です。
getDisplayName(false,
LONG
, locale);- パラメータ:
locale
- 表示名を提供する際に使われるロケール。- 戻り値:
- 指定されたロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
- 例外:
NullPointerException
-locale
がnull
の場合。- 導入されたバージョン:
- 1.2
- 関連項目:
-
getDisplayName
public final String getDisplayName(boolean daylight, int style) デフォルト・ロケールでのユーザーへの表示に適した、このTimeZone
の指定されたstyle
での名前を返します。 指定されたdaylight
がtrue
の場合は、夏時間の名前が返されます(このTimeZone
が夏時間に従わない場合でも)。 それ以外の場合は、標準時の名前が返されます。このメソッドは、次と同等です。
getDisplayName(daylight, style, Locale.getDefault(
Locale.Category.DISPLAY
));- パラメータ:
daylight
- 夏時間の名前を示すtrue
、または標準時の名前を示すfalse
style
-LONG
またはSHORT
- 戻り値:
- デフォルト・ロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
- 例外:
IllegalArgumentException
-style
が無効である場合- 導入されたバージョン:
- 1.2
- 関連項目:
-
getDisplayName
指定されたlocale
でのユーザーへの表示に適した、このTimeZone
の指定されたstyle
での名前を返します。 指定されたdaylight
がtrue
の場合は、夏時間の名前が返されます(このTimeZone
が夏時間に従わない場合でも)。 それ以外の場合は、標準時の名前が返されます。タイムゾーン名の検索時は、指定された
locale
から導かれたデフォルトのResourceBundle
のLocale
検索パスが使用されます。 (フォール・バックLocale
の検索は行われません。) 検索パスのいずれかのLocale
(Locale.ROOT
も含む)にタイムゾーン名が見つかった場合は、その名前が返されます。 それ以外の場合は、正規化されたカスタムID形式の文字列が返されます。- 実装要件:
- デフォルトの実装では、
style
が無効な場合はIllegalArgumentException
をスローし、ID
がnull
の場合はNullPointerException
をスローします。 - パラメータ:
daylight
- 夏時間の名前を示すtrue
、または標準時の名前を示すfalse
style
-LONG
またはSHORT
locale
- 表示名を提供する際に使われるロケール。- 戻り値:
- 指定されたロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
- 例外:
IllegalArgumentException
-style
が無効な場合、このメソッドはIllegalArgumentException
をスローする可能性があります。NullPointerException
-ID
がnull
の場合、このメソッドはNullPointerException
をスローする可能性があります- 導入されたバージョン:
- 1.2
- 関連項目:
-
getDSTSavings
public int getDSTSavings()ローカル・ウォール時計時間を取得するために、ローカルの標準時間に追加する時間の量を返します。useDaylightTime()
の呼出しがtrue
を返す場合、デフォルト実装は3600000ミリ秒(つまり1時間)を返します。 そうでない場合は、0を返します。基本となる
TimeZone
実装サブクラスが、夏時間スケジュールの歴史的および将来の変化をサポートする場合、このメソッドは既知の最新夏時間ルールの夏時間量を返します。このルールは将来に予測されるものです。特定のタイムスタンプにおける夏時間量が必要な場合は、この
TimeZone
とタイムスタンプを使用してCalendar
を構築し、Calendar.get
(
Calendar.DST_OFFSET
)
を呼び出します。- 戻り値:
- ミリ秒単位の夏時間の量
- 導入されたバージョン:
- 1.4
- 関連項目:
-
useDaylightTime
public abstract boolean useDaylightTime()このTimeZone
が夏時間を使用するかどうかを問い合わせます。基本となる
TimeZone
実装サブクラスが、夏時間スケジュールの歴史的および将来の変化をサポートする場合、このメソッドは既知の最新夏時間ルールを参照します。このルールは将来に予測されるものであり、現在のルールとは異なる場合があります。 現在のルールも考慮する必要がある場合は、observesDaylightTime()
を呼び出すようにしてください。- 戻り値:
- この
TimeZone
が夏時間を使用する場合はtrue
、それ以外の場合はfalse
。 - 関連項目:
-
observesDaylightTime
public boolean observesDaylightTime()このTimeZone
が現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合にtrue
を返します。useDaylightTime()
またはinDaylightTime(new Date())
がtrue
を返す場合、デフォルト実装はtrue
を返します。- 戻り値:
- この
TimeZone
が現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合はtrue
。それ以外の場合はfalse
。 - 導入されたバージョン:
- 1.7
- 関連項目:
-
inDaylightTime
public abstract boolean inDaylightTime(Date date) 指定されたdate
が、このタイムゾーンでは夏時間の期間内かどうかを問い合わせます。- パラメータ:
date
- 指定されたDate- 戻り値:
- 指定された日付が夏時間の期間内の場合は
true
、そうでない場合はfalse
。 - 例外:
NullPointerException
-date
がnull
の場合、このメソッドはNullPointerException
をスローする可能性があります
-
getTimeZone
指定されたIDのTimeZone
を取得します。- パラメータ:
ID
-TimeZone
のID。「PST」のような短縮形式、「America/Los_Angeles」のような完全な名前、あるいは「GMT-8:00」のようなカスタムIDのどれか。 短縮形式は、JDK 1.1.xとの互換性のためだけにサポートされているため、完全な名前を使用する必要がある- 戻り値:
- 指定された
TimeZone
。指定されたIDを認識できない場合はGMTゾーン。 - 例外:
NullPointerException
-ID
がnull
の場合
-
getTimeZone
指定されたzoneId
のTimeZone
を取得します。- パラメータ:
zoneId
- タイムゾーンIDの取得元となるZoneId
- 戻り値:
- 指定された
TimeZone
。指定されたIDを認識できない場合はGMTゾーン。 - 例外:
NullPointerException
-zoneId
がnull
である場合- 導入されたバージョン:
- 1.8
-
toZoneId
public ZoneId toZoneId()このTimeZone
オブジェクトをZoneId
に変換します。- 戻り値:
- この
TimeZone
と同じタイムゾーンを表すZoneId
- 導入されたバージョン:
- 1.8
-
getAvailableIDs
public static String[] getAvailableIDs(int rawOffset) ミリ秒単位で指定されたタイムゾーン・オフセットと一致するIDで使用可能なものを取得します。- パラメータ:
rawOffset
- ミリ秒単位で指定されたタイムゾーンのGMTオフセット。- 戻り値:
- IDの配列。配列内のIDのタイムゾーンは、指定されたGMTオフセットを持つ。 たとえば、「America/Phoenix」と「America/Denver」はどちらもGMT-07:00を持つが、夏時間の動作には違いがある。
- 関連項目:
-
getAvailableIDs
-
getDefault
public static TimeZone getDefault()Java仮想マシンのデフォルトのTimeZone
を取得します。 キャッシュされたデフォルトのTimeZone
が使用可能な場合は、そのクローンが返されます。 それ以外の場合、このメソッドは次のステップに従ってデフォルトのタイムゾーンを判定します。user.timezone
プロパティ値が使用可能な場合は、デフォルトのタイム・ゾーンIDとして使用します。- プラットフォームのタイムゾーンIDを検出します。 プラットフォームのタイムゾーンとIDのマッピングのソースは、実装によって異なる場合があります。
- 指定または検出されたタイムゾーンIDが不明の場合は、最後の手段として
GMT
を使用します。
このIDから作成されたデフォルトの
TimeZone
がキャッシュされ、そのクローンが返されます。 復帰時に、user.timezone
プロパティの値はこのIDに設定されます。- 戻り値:
- デフォルトの
TimeZone
- 関連項目:
-
setDefault
public static void setDefault(TimeZone zone) getDefault
メソッドで返されるTimeZone
を設定します。zone
はキャッシュされています。zone
がnullの場合は、キャッシュされたデフォルトのTimeZone
がクリアされます。 このメソッドはuser.timezone
プロパティの値を変更しません。- パラメータ:
zone
- 新しいデフォルトのTimeZone
、またはnull- 例外:
SecurityException
- セキュリティ・マネージャのcheckPermission
がPropertyPermission("user.timezone", "write")
を拒否する場合- 関連項目:
-
hasSameRules
public boolean hasSameRules(TimeZone other) このゾーンが比較される別のゾーンと同じルールとオフセットを持つ場合にtrueを返します。 つまり、このゾーンのIDだけが異なる場合にはtrueを返します。 ほかのゾーンがnullの場合はfalseを返します。- パラメータ:
other
- 比較対象のTimeZone
オブジェクト- 戻り値:
- 他のゾーンがnullで、このゾーンとID以外はまったく同じ場合はtrue
- 導入されたバージョン:
- 1.2
-
clone
-