JavaTM Platform
Standard Ed. 6

java.util
クラス TimeZone

java.lang.Object
  上位を拡張 java.util.TimeZone
すべての実装されたインタフェース:
Serializable, Cloneable
直系の既知のサブクラス:
SimpleTimeZone

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 の構文は次の通りです。
 CustomID:
         GMT Sign Hours : Minutes
         GMT Sign Hours Minutes
         GMT Sign Hours
 Sign: one of
         + -
 Hours:
         Digit
         Digit Digit
 Minutes:
         Digit Digit
 Digit: one of
         0 1 2 3 4 5 6 7 8 9
 
Hours は 0 〜 23 で、Minutes は 00 〜 59 を指定する必要があります。たとえば、「GMT+10」と「GMT+0010」は、それぞれ、GMT の 10 時間前と 10 分前になります。

形式はロケールに依存しません。 数字は Unicode 標準の Basic Latin ブロックから取得する必要があります。夏時間への移行スケジュールは、カスタムタイムゾーン ID で指定できません。 指定された文字列が構文と一致しない場合は、「GMT」を使用します。

TimeZone を作成するときは、指定されたカスタムタイムゾーン ID は、次の構文で規定されます。

 NormalizedCustomID:
         GMT Sign TwoDigitHours : Minutes
 Sign: one of
         + -
 TwoDigitHours:
         Digit Digit
 Minutes:
         Digit Digit
 Digit: one of
         0 1 2 3 4 5 6 7 8 9
 
たとえば、TimeZone.getTimeZone("GMT-8").getID() は GMT-08:00 を返します。

3 文字のタイムゾーン ID

JDK 1.1.x との互換性のために、その他の 3 文字のタイムゾーン ID (「PST」、「CTT」、「AST」など) もサポートされています。ただし、複数のタイムゾーンに同じ省略形が使用されることが多く (「CST」はアメリカの「中央標準時」と「中国標準時」など)、Java プラットフォームではその 1 つしか認識されないため、この使用は推奨されません。

導入されたバージョン:
JDK1.1
関連項目:
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()
          デフォルトロケールでの現在のタイムゾーンの名前を、ユーザーへの表示に適した形式で返します。
 String getDisplayName(boolean daylight, int style)
          デフォルトロケールでの現在のタイムゾーンの名前を、ユーザーへの表示に適した形式で返します。
 String getDisplayName(boolean daylight, int style, Locale locale)
          指定されたロケールでの現在のタイムゾーンの名前を、ユーザーへの表示に適した形式で返します。
 String getDisplayName(Locale locale)
          指定されたロケールでの現在のタイムゾーンの名前を、ユーザーへの表示に適した形式で返します。
 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)
          指定された日付が、現在の所在地のタイムゾーンでは夏時間の期間内かどうかを問い合わせます。
static void setDefault(TimeZone zone)
          getDefault メソッドで返される TimeZone を設定します。
 void setID(String ID)
          タイムゾーン ID を設定します。
abstract  void setRawOffset(int offsetMillis)
          GMT へのベースタイムゾーンオフセットを設定します。
abstract  boolean useDaylightTime()
          現在の所在地のタイムゾーンが夏時間を使用しているかどうかを問い合わせます。
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

SHORT

public static final int SHORT
「PST」などの短い名前を示す getDisplayName() のスタイル指示子です。

導入されたバージョン:
1.2
関連項目:
LONG, 定数フィールド値

LONG

public static final int LONG
「Pacific Standard Time」などの長い名前を示す getDisplayName() のスタイル指示子です。

導入されたバージョン:
1.2
関連項目:
SHORT, 定数フィールド値
コンストラクタの詳細

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 に追加するミリ秒単位のオフセット
関連項目:
Calendar.ZONE_OFFSET, Calendar.DST_OFFSET

getOffset

public int getOffset(long date)
指定された日付で UTC からのこのタイムゾーンのオフセットを返します。夏時間が指定された日付で実施されている場合、オフセット値は夏時間の量で調節されます。

基本となる TimeZone 実装サブクラスが、夏時間と GMT オフセットの歴史的変化をサポートする場合、このメソッドは歴史的に適切なオフセット値を返します。

パラメータ:
date - 1970 年 1 月 1 日 00:00:00 GMT からの、ミリ秒単位で表された日付
戻り値:
ローカルタイムを取得するために UTC に追加するミリ秒単位の時間の量
導入されたバージョン:
1.4
関連項目:
Calendar.ZONE_OFFSET, Calendar.DST_OFFSET

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 に追加される、ミリ秒単位の直接計算されたオフセット時間の量
関連項目:
Calendar.ZONE_OFFSET

getID

public String getID()
現在の所在地のタイムゾーンの ID を取得します。

戻り値:
現在の所在地のタイムゾーンの ID

setID

public void setID(String ID)
タイムゾーン ID を設定します。タイムゾーンオブジェクト内のほかのデータは変更されません。

パラメータ:
ID - 新しいタイムゾーン ID

getDisplayName

public final String getDisplayName()
デフォルトロケールでの現在のタイムゾーンの名前を、ユーザーへの表示に適した形式で返します。このメソッドは、長い名前を返します。 夏時間は含まれません。ロケールの表示名がない場合、このメソッドは規定化されたカスタム ID 形式で文字列を返します。

戻り値:
デフォルトロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
導入されたバージョン:
1.2

getDisplayName

public final String getDisplayName(Locale locale)
指定されたロケールでの現在のタイムゾーンの名前を、ユーザーへの表示に適した形式で返します。このメソッドは、長い名前を返します。 夏時間は含まれません。ロケールの表示名がない場合、このメソッドは規定化されたカスタム ID 形式で文字列を返します。

パラメータ:
locale - 表示名を提供するロケール
戻り値:
指定されたロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
導入されたバージョン:
1.2

getDisplayName

public final String getDisplayName(boolean daylight,
                                   int style)
デフォルトロケールでの現在のタイムゾーンの名前を、ユーザーへの表示に適した形式で返します。ロケールの表示名がない場合、このメソッドは規定化されたカスタム ID 形式で文字列を返します。

パラメータ:
daylight - true の場合、夏時間の名前を返す
style - LONG または SHORT のどちらか
戻り値:
デフォルトロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
導入されたバージョン:
1.2

getDisplayName

public String getDisplayName(boolean daylight,
                             int style,
                             Locale locale)
指定されたロケールでの現在のタイムゾーンの名前を、ユーザーへの表示に適した形式で返します。ロケールの表示名がない場合、このメソッドは規定化されたカスタム ID 形式で文字列を返します。

パラメータ:
daylight - true の場合、夏時間の名前を返す
style - LONG または SHORT のどちらか
locale - 表示名を提供するロケール
戻り値:
指定されたロケールでの現在のタイムゾーンを、人が理解できる形式にした名前
例外:
IllegalArgumentException - スタイルが無効な場合
導入されたバージョン:
1.2

getDSTSavings

public int getDSTSavings()
ローカルウォール時計時間を取得するために、ローカルの標準時間に追加する時間の量を返します。

このタイムゾーンが夏時間に従う場合、デフォルトの実装は常に 3600000 秒 (つまり 1 時間) を返します。従わない場合は、0 を返します。

基本となる TimeZone 実装サブクラスが、夏時間の歴史的変化をサポートする場合、このメソッドは所定の最新夏時間値を返します。

戻り値:
ミリ秒単位の夏時間の量
導入されたバージョン:
1.4

useDaylightTime

public abstract boolean useDaylightTime()
現在の所在地のタイムゾーンが夏時間を使用しているかどうかを問い合わせます。

基本となる TimeZone 実装サブクラスが、夏時間のスケジュールの歴史的変化をサポートする場合、このメソッドは最新の夏時間情報を参照します。

戻り値:
このタイムゾーンが夏時間を使用している場合は true、そうでない場合は false

inDaylightTime

public abstract boolean inDaylightTime(Date date)
指定された日付が、現在の所在地のタイムゾーンでは夏時間の期間内かどうかを問い合わせます。

パラメータ:
date - 指定する Date
戻り値:
指定された日付が夏時間の期間内の場合は true、そうでない場合は false

getTimeZone

public static TimeZone getTimeZone(String ID)
指定された ID の TimeZone を取得します。

パラメータ:
ID - TimeZone の ID。 「PST」のような短縮形式、「America/Los_Angeles」のような完全な名前、あるいは「GMT-8:00」のようなカスタム ID のどれか。短縮形式は、JDK 1.1.x との互換性のためだけにサポートされているため、完全な名前を使用する必要がある
戻り値:
指定された TimeZone。指定された ID を認識できない場合は GMT ゾーン

getAvailableIDs

public static String[] getAvailableIDs(int rawOffset)
ミリ秒単位で指定されたタイムゾーンオフセットと一致する ID で使用可能なものを取得します。

パラメータ:
rawOffset - ミリ秒単位で指定されたタイムゾーンの GMT オフセット
戻り値:
ID の配列。 配列内の ID のタイムゾーンは、指定された GMT オフセットを持つ。たとえば、「America/Phoenix」と「America/Denver」はどちらも GMT-07:00 を持つが、夏時間の動作には違いがある
関連項目:
getRawOffset()

getAvailableIDs

public static String[] getAvailableIDs()
サポートされる利用可能な ID をすべて取得します。

戻り値:
ID の配列

getDefault

public static TimeZone getDefault()
このホストのデフォルトの TimeZone を取得します。デフォルトの TimeZone のソースは、実装によって異なります。

戻り値:
デフォルトの TimeZone
関連項目:
setDefault(java.util.TimeZone)

setDefault

public static void setDefault(TimeZone zone)
getDefault メソッドで返される TimeZone を設定します。zone が null の場合、VM が最初に開始されたときの値にデフォルトがリセットされます。

パラメータ:
zone - 新しいデフォルトのタイムゾーン
関連項目:
getDefault()

hasSameRules

public boolean hasSameRules(TimeZone other)
このゾーンが比較される別のゾーンと同じ規則とオフセットを持つ場合に true を返します。つまり、このゾーンの ID だけが異なる場合には true を返します。ほかのゾーンが null の場合は false を返します。

パラメータ:
other - 比較される TimeZone オブジェクト
戻り値:
他のゾーンが null で、このゾーンと ID 以外はまったく同じ場合は true
導入されたバージョン:
1.2

clone

public Object clone()
この TimeZone のコピーを作成します。

オーバーライド:
クラス Object 内の clone
戻り値:
この TimeZone の複製
関連項目:
Cloneable

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。