IntlCalendar::setTimeZone

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

IntlCalendar::setTimeZoneこのカレンダーで使うタイムゾーンを設定する

説明

オブジェクト指向型

public IntlCalendar::setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): bool

手続き型

intlcal_set_time_zone(IntlCalendar $calendar, IntlTimeZone|DateTimeZone|string|null $timezone): bool

このカレンダーで使う新しいタイムゾーンを定義します。 このオブジェクトの時刻は、 フィールドの値を保持したまま表現されます。

パラメータ

calendar

IntlCalendar クラスのインスタンス。

timezone

このカレンダーで使う新しいタイムゾーン。 以下のやり方で指定できます:

  • 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 を返します。 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)

関連キーワード:  IntlCalendar, 設定, timezone, setTimeZone, IntlTimeZone, junio, sábado, instant, DateTimeZone, string