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, 2014, Oracle and/or its affiliates. All rights reserved.