IntlDateFormatter::setTimeZone
datefmt_set_timezone
(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)
IntlDateFormatter::setTimeZone -- datefmt_set_timezone — タイムゾーンを設定する
説明
オブジェクト指向型
public
IntlDateFormatter::setTimeZone
( mixed $zone
) : bool
手続き型
datefmt_set_timezone
( IntlDateFormatter $fmt
, mixed $zone
) : bool
IntlDateFormatter によって使われるタイムゾーンを設定します。
パラメータ
fmt
- フォーマッターのリソース
zone
- 利用するタイムゾーン。次の形式で指定できます。
null
。この場合はデフォルトのタイムゾーンを使います。デフォルトは、ini 項目 date.timezone で設定したものか、 date_default_timezone_set() 関数で指定したもの (そして date_default_timezone_get() が返すもの) になります。- IntlTimeZone。これを直接使います。
- DateTimeZone。その識別子を取り出して、ICU タイムゾーンオブジェクトを作ります。 つまり、これは ICU のデータベースに基づくタイムゾーンとなり、PHP のタイムゾーンデータベースに基づくものではありません。
- 文字列。ICU タイムゾーン識別子として有効なものを指定します。 IntlTimeZone::createTimeZoneIDEnumeration() を参照ください。
"GMT+08:30"
などのオフセットも指定できます。
返り値
成功した場合に true
、失敗した場合に false
を返します。
例
例1 IntlDateFormatter::setTimeZone() の例
<?phpini_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 )