IntlCalendar::setTimeZone

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setTimeZoneSet the timezone used by this calendar

説明

オブジェクト指向型

public IntlCalendar::setTimeZone ( mixed $timeZone ) : bool

手続き型

intlcal_set_time_zone ( IntlCalendar $cal , mixed $timeZone ) : bool

Defines a new timezone for this calendar. The time represented by the object is preserved to the detriment of the field values.

パラメータ

cal

The IntlCalendar resource.

timeZone

The new timezone to be used by this calendar. It can be specified in the following ways:

  • NULL。この場合はデフォルトのタイムゾーンを使います。デフォルトは、ini 項目 date.timezone で設定したものか、 date_default_timezone_set() 関数で指定したもの (そして date_default_timezone_get() が返すもの) になります。

  • IntlTimeZone。これを直接使います。

  • DateTimeZone。その識別子を取り出して、ICU タイムゾーンオブジェクトを作ります。 つまり、これは ICU のデータベースに基づくタイムゾーンとなり、PHP のタイムゾーンデータベースに基づくものではありません。

  • 文字列。ICU タイムゾーン識別子として有効なものを指定します。 IntlTimeZone::createTimeZoneIDEnumeration() を参照ください。 "GMT+08:30" などのオフセットも指定できます。

返り値

Returns TRUE on success and FALSE on failure.

例1 IntlCalendar::setTimeZone()

<?php
ini_set
('date.timezone''Europe/Lisbon');
ini_set('intl.default_locale''es_ES');

$cal = new IntlGregorianCalendar(2013/* May */11200);

echo 
IntlDateFormatter::formatObject($calIntlDateFormatter::FULL), "\n";
echo 
"(instant {$cal->getTime()})\n";

$cal->setTimeZone(IntlTimeZone::getGMT());
echo 
IntlDateFormatter::formatObject($calIntlDateFormatter::FULL), "\n";
echo 
"(instant {$cal->getTime()})\n";

$cal->setTimeZone('GMT+03:33');
echo 
IntlDateFormatter::formatObject($calIntlDateFormatter::FULL), "\n";
echo 
"(instant {$cal->getTime()})\n";

上の例の出力は以下となります。

sábado, 1 de junio de 2013 12:00:00 Hora de verano de Europa occidental
(instant 1370084400000)
sábado, 1 de junio de 2013 11:00:00 GMT
(instant 1370084400000)
sábado, 1 de junio de 2013 14:33:00 GMT+03:33
(instant 1370084400000)