public abstract class TimeZone extends Object implements Serializable, Cloneable
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の構文は次の通りです。 
 Hoursは0 - 23で、Minutesは00 - 59を指定する必要があります。 たとえば、「GMT+10」と「GMT+0010」は、それぞれ、GMTより10時間および10分進んだ時間になります。CustomID:GMTSign Hours:MinutesGMTSign Hours MinutesGMTSign Hours Sign: one of+ -Hours: Digit Digit Digit Minutes: 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を返します。NormalizedCustomID:GMTSign TwoDigitHours:Minutes Sign: one of+ -TwoDigitHours: Digit Digit Minutes: Digit Digit Digit: one of0 1 2 3 4 5 6 7 8 9
Calendar, GregorianCalendar, SimpleTimeZone, 直列化された形式| 修飾子と型 | フィールド | 説明 | 
|---|---|---|
static int | 
LONG | 
 「Pacific Standard Time」などの長い名前を示す 
getDisplayName()のスタイル指示子です。 | 
static int | 
SHORT | 
 「PST」などの短い名前を示す 
getDisplayName()のスタイル指示子です。 | 
| コンストラクタ | 説明 | 
|---|---|
TimeZone() | 
 唯一のコンストラクタです。 
 | 
| 修飾子と型 | メソッド | 説明 | 
|---|---|---|
Object | 
clone() | 
 この 
TimeZoneのコピーを作成します。 | 
static String[] | 
getAvailableIDs() | 
 サポートされる利用可能なIDをすべて取得します。 
 | 
static String[] | 
getAvailableIDs(int rawOffset) | 
 ミリ秒単位で指定されたタイムゾーン・オフセットと一致するIDで使用可能なものを取得します。 
 | 
static TimeZone | 
getDefault() | 
 Java仮想マシンのデフォルトの 
TimeZoneを取得します。 | 
String | 
getDisplayName() | 
 デフォルト・ロケールでのユーザーへの表示に適した、この 
TimeZoneの標準時の長い名前を返します。 | 
String | 
getDisplayName(boolean daylight, int style) | 
 デフォルト・ロケールでのユーザーへの表示に適した、この 
TimeZoneの指定されたstyleでの名前を返します。 | 
String | 
getDisplayName(boolean daylight, int style, Locale locale) | 
 指定された 
localeでのユーザーへの表示に適した、このTimeZoneの指定されたstyleでの名前を返します。 | 
String | 
getDisplayName(Locale locale) | 
 指定された 
localeでのユーザーへの表示に適した、このTimeZoneの標準時の長い名前を返します。 | 
int | 
getDSTSavings() | 
 ローカル・ウォール時計時間を取得するために、ローカルの標準時間に追加する時間の量を返します。 
 | 
String | 
getID() | 
 現在の所在地のタイムゾーンのIDを取得します。 
 | 
abstract int | 
getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) | 
 現在の日付のタイムゾーン・オフセットを返します。夏時間の期間内であれば修正されています。 
 | 
int | 
getOffset(long date) | 
 指定された日付でUTCからのこのタイムゾーンのオフセットを返します。 
 | 
abstract int | 
getRawOffset() | 
 このタイムゾーンの標準時間を取得するために、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 | 
observesDaylightTime() | 
 この 
TimeZoneが現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合にtrueを返します。 | 
static void | 
setDefault(TimeZone zone) | 
getDefaultメソッドで返されるTimeZoneを設定します。 | 
void | 
setID(String ID) | 
 タイムゾーンIDを設定します。 
 | 
abstract void | 
setRawOffset(int offsetMillis) | 
 GMTへのベース・タイムゾーン・オフセットを設定します。 
 | 
ZoneId | 
toZoneId() | 
 この 
TimeZoneオブジェクトをZoneIdに変換します。 | 
abstract boolean | 
useDaylightTime() | 
 この 
TimeZoneが夏時間を使用するかどうかを問い合わせます。 | 
public abstract int getOffset(int era,
                              int year,
                              int month,
                              int day,
                              int dayOfWeek,
                              int milliseconds)
 基本となるTimeZone実装サブクラスが、夏時間スケジュールとGMTオフセットの歴史的変化をサポートする場合、このメソッドは歴史的に正確なオフセットを返します。
era - 指定する日付の年号。year - 指定する日付の年。month - 指定する日付の月。 月は 0 から始まる。 0 が 1 月 day - 指定する日付の日。dayOfWeek - 指定する日付の曜日。milliseconds - 標準ローカル・タイムでの、指定された日のミリ秒。Calendar.ZONE_OFFSET, Calendar.DST_OFFSETpublic int getOffset(long date)
基本となるTimeZone実装サブクラスが、夏時間スケジュールとGMTオフセットの歴史的変化をサポートする場合、このメソッドは歴史的に正確なオフセット値を返します。
date - 1970年1月1日00:00:00 GMTからの、ミリ秒単位で表された日付。Calendar.ZONE_OFFSET, Calendar.DST_OFFSETpublic abstract void setRawOffset(int offsetMillis)
 基盤となるTimeZone実装サブクラスが、GMTオフセットの歴史的変化をサポートする場合、指定されたGMTオフセットが最新のGMTオフセットとして設定され、既知の最新GMTオフセット値との差を使用して、歴史上のすべてのGMTオフセット値が調整されます。
offsetMillis - 指定されたGMTへのベース・タイムゾーン・オフセットpublic abstract int getRawOffset()
 基本となるTimeZone実装サブクラスがGMTオフセットの歴史的変化をサポートする場合、メソッドは現在の日付の直接計算されたオフセット値を返します。 たとえばホノルルでは、1947年に直接計算されたオフセットがGMT-10:30からGMT-10:00に変更したので、このメソッドは常に -36000000ミリ秒(つまり -10時間)を返します。 
Calendar.ZONE_OFFSETpublic String getID()
public void setID(String ID)
ID - 新しいタイムゾーンID。public final String getDisplayName()
TimeZoneの標準時の長い名前を返します。
 このメソッドは、次と同等です。
getDisplayName(false,LONG, Locale.getDefault(Locale.Category.DISPLAY))
getDisplayName(boolean, int, Locale), Locale.getDefault(Locale.Category), Locale.Categorypublic final String getDisplayName(Locale locale)
localeでのユーザーへの表示に適した、このTimeZoneの標準時の長い名前を返します。
 このメソッドは、次と同等です。
getDisplayName(false,LONG, locale)
locale - 表示名を提供する際に使われるロケール。NullPointerException - localeがnullの場合。getDisplayName(boolean, int, Locale)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またはSHORTIllegalArgumentException - styleが無効である場合getDisplayName(boolean, int, Locale), Locale.getDefault(Locale.Category), Locale.Category, DateFormatSymbols.getZoneStrings()public String getDisplayName(boolean daylight, int style, Locale locale)
localeでのユーザーへの表示に適した、このTimeZoneの指定されたstyleでの名前を返します。 指定されたdaylightがtrueの場合は、夏時間の名前が返されます(このTimeZoneが夏時間に従わない場合でも)。 それ以外の場合は、標準時の名前が返されます。 
 タイムゾーン名の検索時は、指定されたlocaleから導かれたデフォルトのResourceBundleのLocale検索パスが使用されます。 (フォール・バックLocaleの検索は行われません。) 検索パスのいずれかのLocale (Locale.ROOTも含む)にタイムゾーン名が見つかった場合は、その名前が返されます。 それ以外の場合は、正規化されたカスタムID形式の文字列が返されます。 
daylight - 夏時間の名前を示すtrue、または標準時の名前を示すfalsestyle - LONGまたはSHORTlocale - 表示名を提供する際に使われるロケール。IllegalArgumentException - styleが無効である場合NullPointerException - localeがnullの場合。DateFormatSymbols.getZoneStrings()public int getDSTSavings()
useDaylightTime()の呼出しがtrueを返す場合、デフォルト実装は3600000ミリ秒(つまり1時間)を返します。 そうでない場合は、0を返します。 
 
基本となるTimeZone実装サブクラスが、夏時間スケジュールの歴史的および将来の変化をサポートする場合、このメソッドは既知の最新夏時間ルールの夏時間量を返します。このルールは将来に予測されるものです。
 
特定のタイムスタンプにおける夏時間量が必要な場合は、このTimeZoneとタイムスタンプを使用してCalendarを構築し、Calendar.get(Calendar.DST_OFFSET)を呼び出します。
inDaylightTime(Date), getOffset(long), getOffset(int,int,int,int,int,int), Calendar.ZONE_OFFSETpublic abstract boolean useDaylightTime()
TimeZoneが夏時間を使用するかどうかを問い合わせます。
 基本となるTimeZone実装サブクラスが、夏時間スケジュールの歴史的および将来の変化をサポートする場合、このメソッドは既知の最新夏時間ルールを参照します。このルールは将来に予測されるものであり、現在のルールとは異なる場合があります。 現在のルールも考慮する必要がある場合は、observesDaylightTime()を呼び出すようにしてください。 
TimeZoneが夏時間を使用する場合はtrue、それ以外の場合はfalse。inDaylightTime(Date), Calendar.DST_OFFSETpublic boolean observesDaylightTime()
TimeZoneが現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合にtrueを返します。
 useDaylightTime()またはinDaylightTime(new Date())がtrueを返す場合、デフォルト実装はtrueを返します。
TimeZoneが現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合はtrue。それ以外の場合はfalse。useDaylightTime(), inDaylightTime(Date), Calendar.DST_OFFSETpublic abstract boolean inDaylightTime(Date date)
dateが、このタイムゾーンでは夏時間の期間内かどうかを問い合わせます。date - 指定されたDatetrue、そうでない場合はfalse。public static TimeZone getTimeZone(String ID)
TimeZoneを取得します。ID - TimeZoneのID。「PST」のような短縮形式、「America/Los_Angeles」のような完全な名前、あるいは「GMT-8:00」のようなカスタムIDのどれか。 短縮形式は、JDK 1.1.xとの互換性のためだけにサポートされているため、完全な名前を使用する必要がある TimeZone。指定されたIDを認識できない場合はGMTゾーン。public static TimeZone getTimeZone(ZoneId zoneId)
zoneIdのTimeZoneを取得します。zoneId - タイムゾーンIDの取得元となるZoneIdTimeZone。指定されたIDを認識できない場合はGMTゾーン。NullPointerException - zoneIdがnullである場合public ZoneId toZoneId()
TimeZoneオブジェクトをZoneIdに変換します。TimeZoneと同じタイムゾーンを表すZoneIdpublic static String[] getAvailableIDs(int rawOffset)
rawOffset - ミリ秒単位で指定されたタイムゾーンのGMTオフセット。getRawOffset()public static String[] getAvailableIDs()
public static TimeZone getDefault()
TimeZoneを取得します。 キャッシュされたデフォルトのTimeZoneが使用可能な場合は、そのクローンが返されます。 それ以外の場合、このメソッドは次のステップに従ってデフォルトのタイムゾーンを判定します。 
 user.timezoneプロパティの値が使用可能な場合は、それをデフォルトのタイムゾーンIDとして使用します。GMTを使用します。このIDから作成されたデフォルトのTimeZoneがキャッシュされ、そのクローンが返されます。 復帰時に、user.timezoneプロパティの値はこのIDに設定されます。 
TimeZonesetDefault(TimeZone)public static void setDefault(TimeZone zone)
getDefaultメソッドで返されるTimeZoneを設定します。zoneはキャッシュされています。 zoneがnullの場合は、キャッシュされたデフォルトのTimeZoneがクリアされます。 このメソッドはuser.timezoneプロパティの値を変更しません。 zone - 新しいデフォルトのTimeZone、またはnullSecurityException - セキュリティ・マネージャのcheckPermissionがPropertyPermission("user.timezone", "write")を拒否する場合getDefault(), PropertyPermissionpublic boolean hasSameRules(TimeZone other)
other - 比較対象のTimeZoneオブジェクト バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。 
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。