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:GMT
Sign Hours:
MinutesGMT
Sign Hours MinutesGMT
Sign 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:GMT
Sign 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_OFFSET
public int getOffset(long date)
基本となる TimeZone 実装サブクラスが、夏時間スケジュールと GMT オフセットの歴史的変化をサポートする場合、このメソッドは歴史的に正確なオフセット値を返します。
date
- 1970 年 1 月 1 日 00:00:00 GMT からの、ミリ秒単位で表された日付。Calendar.ZONE_OFFSET
, Calendar.DST_OFFSET
public 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_OFFSET
public 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.Category
public 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
、または標準時の名前を示す false
style
- LONG
または SHORT
IllegalArgumentException
- 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
、または標準時の名前を示す false
style
- LONG
または SHORT
locale
- 表示名を提供する際に使われるロケール。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_OFFSET
public abstract boolean useDaylightTime()
TimeZone
が夏時間を使用するかどうかを問い合わせます。
基本となる TimeZone
実装サブクラスが、夏時間スケジュールの歴史的および将来の変化をサポートする場合、このメソッドは既知の最新夏時間規則を参照します。この規則は将来に予測されるものであり、現在の規則とは異なる場合があります。現在の規則も考慮する必要がある場合は、observesDaylightTime()
を呼び出すようにしてください。
TimeZone
が夏時間を使用する場合は true
、それ以外の場合は false
。inDaylightTime(Date)
, Calendar.DST_OFFSET
public boolean observesDaylightTime()
TimeZone
が現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合に true
を返します。
useDaylightTime()
または inDaylightTime(new Date())
が true
を返す場合、デフォルト実装は true
を返します。
TimeZone
が現在夏時間の期間内にある場合、または標準時間から夏時間への移行が今後行われる場合は true
。それ以外の場合は false
。useDaylightTime()
, inDaylightTime(Date)
, Calendar.DST_OFFSET
public 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.