この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

TimeZone クラス

タイムゾーンを表します。新しいタイムゾーンを作成し、タイムゾーン ID、オフセット、表示名などのタイムゾーンプロパティを取得するためのメソッドを含みます。

名前空間

System

使用方法

このクラスのメソッドを使用して、UserInfo.getTimeZone から返されるタイムゾーンまたはこのクラスの getTimeZone から返されるタイムゾーンのプロパティなど、タイムゾーンのプロパティを取得できます。

この例では、現在のユーザーのタイムゾーンのプロパティを取得し、それをデバッグログに表示する方法を示します。

1TimeZone tz = UserInfo.getTimeZone();
2System.debug('Display name: ' + tz.getDisplayName());
3System.debug('ID: ' + tz.getID());
4// During daylight saving time for the America/Los_Angeles time zone
5System.debug('Offset: ' + tz.getOffset(DateTime.newInstance(2012,10,23,12,0,0)));
6// Not during daylight saving time for the America/Los_Angeles time zone
7System.debug('Offset: ' + tz.getOffset(DateTime.newInstance(2012,11,23,12,0,0)));
8System.debug('String format: ' + tz.toString());

このサンプルの出力は、ユーザーのタイムゾーンによって異なります。ユーザーのタイムゾーンが America/Los_Angeles の場合の出力例を次に示します。このタイムゾーンの場合、夏時間は GMT から -7 時間 (-25200000 ミリ秒) であり、標準時間は GMT から -8 時間 (-28800000 ミリ秒) です。

Display name: Pacific Standard Time

ID: America/Los_Angeles

Offset: -25200000

Offset: -28800000

String format: America/Los_Angeles

2 番目の例では、New York のタイムゾーンを作成し、GMT タイムゾーンに対するこのタイムゾーンのオフセットを取得する方法を示します。この例は、オフセットを取得するために 2 つの日付を使用します。1 つの日付は DST (夏時間) 前、もう 1 つの日付は DST 後です。2000 年の夏時間は、New York タイムゾーンの 10 月 29 日、日曜日に終了しました。最初の日付は夏時間後であるため、最初の日付のオフセットは GMT に対して –5 時間です。2012 年の夏時間は、11 月 4 日、日曜日に終了しました。2 番目の日付は夏時間中であるため、2 番目の日付のオフセットは –4 時間です。

1// Get the New York time zone
2Timezone tz = Timezone.getTimeZone('America/New_York');
3
4// Create a date before the 2007 shift of DST into November
5DateTime dtpre = DateTime.newInstanceGMT(2000, 11, 1, 0, 0, 0);
6system.debug(tz.getOffset(dtpre));   //-18000000 (= -5 hours = EST)
7
8// Create a date after the 2007 shift of DST into November
9DateTime dtpost = DateTime.newInstanceGMT(2012, 11, 1, 0, 0, 0);
10system.debug(tz.getOffset(dtpost));   //-14400000 (= -4 hours = EDT)

次の例は前の例と似ていますが、夏時間の境界周辺でオフセットを取得しています。2014 年の夏時間は、New York タイムゾーンの 11 月 2 日、日曜日午前 2 時に終了しました。最初のオフセットは夏時間の終了直前に取得され、2 番目のオフセットは夏時間の終了直後に取得されています。日付は DateTime.newInstanceGMT メソッドを使用して作成されます。このメソッドは、渡される日付値が GMT タイムゾーンに基づくことを前提としています。

1// Get the New York time zone
2Timezone tz = Timezone.getTimeZone('America/New_York');
3
4// Before DST ends
5DateTime dtpre = DateTime.newInstanceGMT(2014, 11, 2, 5, 59, 59);  //1:59:59AM local EDT
6system.debug(tz.getOffset(dtpre));   //-14400000 (= -4 hours = still on DST)
7
8// After DST ends
9DateTime dtpost = DateTime.newInstanceGMT(2014, 11, 2, 6, 0, 0); //1:00:00AM local EST
10system.debug(tz.getOffset(dtpost));  //-18000000 (= -5 hours = back one hour)

TimeZone のメソッド

TimeZone のメソッドは次のとおりです。

getDisplayName()

このタイムゾーンの表示名を返します。

署名

public String getDisplayName()

戻り値

型: String

バージョン管理動作の変更

API バージョン 45.0 以降では、夏時間が有効である場合、getDisplayName で夏時間が適切���表示されます。たとえば、ヨーロッパ/ロンドンでは英国夏時間が表示され、米国/ロサンゼルスでは太平洋夏時間が表示されます。

getID()

このタイムゾーンの ID を返します。

署名

public String getID()

戻り値

型: String

getOffset(date)

指定された日付の GMT タイムゾーンに対するタイムゾーンオフセットをミリ秒単位で返します。

署名

public Integer getOffset(Datetime date)

パラメーター

date
型: Datetime
date 引数は、評価する日時です。

戻り値

型: Integer

使用方法

date 引数がこのタイムゾーンの夏時間の場合、返されたオフセットは夏時間に調整されます。

メモ

getTimeZone(timeZoneIdString)

指定されたタイムゾーン ID に対応するタイムゾーンを返します。

署名

public static TimeZone getTimeZone(String timeZoneIdString)

パラメーター

timeZoneIdString
型: String
Id 引数に使用できるタイムゾーン値は、Java TimeZone クラスでサポートされる有効なタイムゾーン値です。

戻り値

型: TimeZone

1TimeZone tz = TimeZone.getTimeZone('America/Los_Angeles');
2String tzName = tz.getDisplayName();
3System.assert(tzName.equals('(GMT-08:00) Pacific Standard Time (America/Los_Angeles)') ||
4              tzName.equals('(GMT-07:00) Pacific Daylight Time (America/Los_Angeles)'));

toString()

このタイムゾーンを文字列表現で返します。

署名

public String toString()

戻り値

型: String