public abstract class TimeZone extends Object implements Serializable, Cloneable
TimeZone は、タイムゾーンオフセットを表します。また、サマータイムを認識します。
通常は、getDefault を使用して TimeZone を取得します。このメソッドは、プログラムを実行している場所のタイムゾーンに基づいた TimeZone を作成します。たとえば、日本で実行されているプログラムの場合、getDefault は日本標準時を基に TimeZone オブジェクトを作成します。
タイムゾーン ID を指定し getTimeZone を使用して TimeZone を取得することもできます。たとえば、太平洋標準時のタイムゾーン ID は、「America/Los_Angeles」です。したがって、次のように入力して PST 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()
このホストのデフォルトの
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 を取得します。 |
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 へのベースタイムゾーンオフセットを設定します。
|
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 String[] getAvailableIDs(int rawOffset)
rawOffset - ミリ秒単位で指定されたタイムゾーンの GMT オフセット。getRawOffset()public static String[] getAvailableIDs()
public static TimeZone getDefault()
TimeZone を取得します。デフォルトの TimeZone のソースは、実装によって異なります。TimeZone。setDefault(java.util.TimeZone)public static void setDefault(TimeZone zone)
getDefault メソッドで返される TimeZone を設定します。zone が null の場合、VM が最初に開始されたときの値にデフォルトがリセットされます。zone - 新しいデフォルトのタイムゾーンgetDefault()public boolean hasSameRules(TimeZone other)
other - 比較対象の TimeZone オブジェクト バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.