は、次の操作を実行できます。
IntlTimeZone::createTimeZone('America/New_York')->getDisplayName()
これは、この場合に"Eastern Standard Time"
で、デフォルトでCLDR英語の標準長い形式を返します。他のオプションは利用可能ですhereがあります。たとえば:
IntlTimeZone::createTimeZone('Europe/Paris')->getDisplayName(true, IntlTimeZone::DISPLAY_LONG, 'fr_FR')
は、上記中央ヨーロッパ夏時間のためのフランスで"heure avancée d’Europe centrale"
を返します。
問題の日時のDSTが有効な場合は、最初のパラメータをtrue
にしてください。それ以外の場合はfalse
としてください。これは、以下の技術により例示される:
$tz = 'America/New_York';
$dt = new DateTime('2016-01-01 00:00:00', new DateTimeZone($tz));
$dst = $dt->format('I');
$text = IntlTimeZone::createTimeZone($tz)->getDisplayName($dst);
echo($text); // "Eastern Standard Time"
Working PHP Fiddle Here
これらの文字列は、エンドユーザに表示することを意図していることに注意してください。別のAPIを呼び出すなど、プログラム目的に使用することが意図されている場合は、一部の文字列の英語バージョンが整列しても適切ではありません。たとえば、タイムゾーンをWindows APIまたは.NET API、またはRuby on Rails APIに送信する場合、これらの文字列は機能しません。
どのような目的のためにですか?どの言語で?詳しく教えてください。 –
目的はなぜ重要ですか?言語はPHPなので、タイトル、最初のパラグラフ、タグです。 – Bing
私は、これをユーザーに表示していますか?英語で?あるいは、別のAPIに値を渡していますか? –