- すべての実装されたインタフェース:
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:GMTSign Hours:Minutes:SecondsGMTSign Hours:MinutesGMTSign Hours MinutesGMTSign 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:GMTSign 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つしか認識されないため、この使用は非推奨です。- 導入されたバージョン:
- 1.1
- 関連項目:
-
フィールドのサマリー
フィールド -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明clone()このTimeZoneのコピーを作成します。static String[]サポートされる利用可能なIDをすべて取得します。static String[]getAvailableIDs(int rawOffset) ミリ秒単位で指定されたタイムゾーン・オフセットと一致するIDで使用可能なものを取得します。static TimeZoneJava仮想マシンのデフォルトのTimeZoneを取得します。final Stringデフォルト・ロケールでのユーザーへの表示に適した、このTimeZoneの標準時の長い名前を返します。final StringgetDisplayName(boolean daylight, int style) デフォルト・ロケールでのユーザーへの表示に適した、このTimeZoneの指定されたstyleでの名前を返します。getDisplayName(boolean daylight, int style, Locale locale) 指定されたlocaleでのユーザーへの表示に適した、このTimeZoneの指定されたstyleでの名前を返します。final StringgetDisplayName(Locale locale) 指定されたlocaleでのユーザーへの表示に適した、このTimeZoneの標準時の長い名前を返します。intローカル・ウォール時計時間を取得するために、ローカルの標準時間に追加する時間の量を返します。getID()現在の所在地のタイムゾーンのIDを取得します。abstract intgetOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) 現在の日付のタイムゾーン・オフセットを返します。夏時間の期間内であれば修正されています。intgetOffset(long date) 指定された日付でUTCからのこのタイムゾーンのオフセットを返します。abstract intこのタイムゾーンの標準時間を取得するために、UTCに追加するミリ秒単位の時間量を返します。static TimeZonegetTimeZone(String ID) 指定されたIDのTimeZoneを取得します。static TimeZonegetTimeZone(ZoneId zoneId) 指定されたzoneIdのTimeZoneを取得します。booleanhasSameRules(TimeZone other) このゾーンが比較される別のゾーンと同じルールとオフセットを持つ場合にtrueを返します。abstract booleaninDaylightTime(Date date) 指定されたdateが、このタイムゾーンでは夏時間の期間内かどうかを問い合わせます。booleanこのTimeZoneが現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合にtrueを返します。static voidsetDefault(TimeZone zone) getDefaultメソッドで返されるTimeZoneを設定します。voidタイムゾーンIDを設定します。abstract voidsetRawOffset(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
public String getID()現在の所在地のタイムゾーンのIDを取得します。- 戻り値:
- 現在の所在地のタイムゾーンのID
-
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、または標準時の名前を示すfalsestyle-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、または標準時の名前を示すfalsestyle-LONGまたはSHORTlocale- 表示名を提供する際に使われるロケール。- 戻り値:
- 指定されたロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
- スロー:
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
public static String[] getAvailableIDs()サポートされる利用可能なIDをすべて取得します。- 戻り値:
- IDの配列
-
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
public Object clone()このTimeZoneのコピーを作成します。
-