(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)
IntlDateFormatter::setTimeZone -- datefmt_set_timezone — タイムゾーンを設定する
オブジェクト指向型
手続き型
$formatter, IntlTimeZone|DateTimeZone|string|null $timezone): boolIntlDateFormatter によって使われるタイムゾーンを設定します。
formatterフォーマッターのリソース
timezone利用するタイムゾーン。次の形式で指定できます。
   null。この場合はデフォルトのタイムゾーンを使います。デフォルトは、ini 項目
   date.timezone で設定したものか、
   date_default_timezone_set() 関数で指定したもの
   (そして date_default_timezone_get() が返すもの) になります。
  
IntlTimeZone。これを直接使います。
DateTimeZone。その識別子を取り出して、ICU タイムゾーンオブジェクトを作ります。 つまり、これは ICU のデータベースに基づくタイムゾーンとなり、PHP のタイムゾーンデータベースに基づくものではありません。
   文字列。ICU タイムゾーン識別子として有効なものを指定します。
   IntlTimeZone::createTimeZoneIDEnumeration() を参照ください。
   "GMT+08:30" などのオフセットも指定できます。
  
例1 IntlDateFormatter::setTimeZone() の例
<?php
ini_set('date.timezone', 'Europe/Amsterdam');
$formatter = IntlDateFormatter::create(NULL, NULL, NULL, "UTC");
$formatter->setTimeZone(NULL);
echo "NULL\n    ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('Europe/Rome');
echo "String\n    ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('GMT+00:30');
print_r($formatter->getTimeZone());上の例の出力は以下となります。
NULL
    Europe/Amsterdam
IntlTimeZone
    Europe/Lisbon
DateTimeZone
    Europe/Paris
String
    Europe/Rome
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+00:30
    [rawOffset] => 1800000
    [currentOffset] => 1800000
)
