IntlCalendar::getSkippedWallTimeOption
(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::getSkippedWallTimeOption — スキップされた実時間を扱う際の振る舞いを取得する
説明
オブジェクト指向型
手続き型
夏時間が始まった際に時間を進めた場合に、
スキップされる実時間をどう扱うかの戦略を取得します。
デフォルト値は
IntlCalendar::WALLTIME_LAST
です。
このオプションを有効にするには、 カレンダーの 緩いモード がONになっている必要があります。 そうでない場合、存在しない時刻を設定しようとしてエラーが発生します。
この関数を使うには、ICU 4.9 以降が必要です。
パラメータ
calendar
-
IntlCalendar クラスのインスタンス。
戻り値
IntlCalendar::WALLTIME_FIRST
,
IntlCalendar::WALLTIME_LAST
,
IntlCalendar::WALLTIME_NEXT_VALID
のうちのいずれかを返します。
例
例1 IntlCalendar::getSkippedWallTimeOption()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);
//On March 31st at 0100, the clock goes forward 1 hour and from GMT+00 to GMT+01
$cal = new IntlGregorianCalendar(2013, 2 /* March */, 31, 1, 30);
var_dump(
$cal->isLenient(), // true
$cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST
);
$formatter = IntlDateFormatter::create(
NULL,
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000));
$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getSkippedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);
var_dump($formatter->format($cal->getTime() / 1000));
$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID);
var_dump($cal->getSkippedWalltimeOption()); // 2 WALLTIME_NEXT_VALID
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);
var_dump($formatter->format($cal->getTime() / 1000));
上の例の出力は以下となります。
bool(true) int(0) string(40) "Sunday, March 31, 2013 at 1:30:00 AM GMT" int(1) string(41) "Sunday, March 31, 2013 at 12:30:00 AM GMT" int(2) string(40) "Sunday, March 31, 2013 at 1:00:00 AM GMT"
参考
- IntlCalendar::getRepeatedWallTimeOption() - 繰り返される実時間を扱う際の振る舞いを取得する
- IntlCalendar::setSkippedWallTimeOption() - 正のタイムゾーンオフセットを適用した際に、スキップされる実時間をどう扱うかを設定する
- IntlCalendar::setRepeatedWallTimeOption() - 負のタイムゾーンオフセットを適用した際に、繰り返される実時間をどう扱うかを設定する
+add a note
User Contributed Notes
There are no user contributed notes for this page.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google