(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::getRepeatedWallTimeOption — 获取处理重复墙时间的行为
面向对象风格
过程式风格
获取当前处理在夏令时结束转换期间时钟回拨时重复的墙时间的策略。默认值为 IntlCalendar::WALLTIME_LAST
。
此函数需要 ICU 4.9 或更高版本。
calendar
一个 IntlCalendar 实例。
常量 IntlCalendar::WALLTIME_FIRST
或 IntlCalendar::WALLTIME_LAST
之一。
示例 #1 IntlCalendar::getRepeatedWallTimeOption()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);
// 10 月 27 日 02:00,时钟回拨 1 小时,从 GMT+01 到 GMT+00
$cal = new IntlGregorianCalendar(2013, 9 /* 十月 */, 27, 1, 30);
var_dump($cal->getRepeatedWalltimeOption()); // 0 WALLTIME_LAST
$formatter = IntlDateFormatter::create(
NULL,
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000.));
$cal->setRepeatedWalltimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getRepeatedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);
var_dump($formatter->format($cal->getTime() / 1000.));
上面的示例将输出
int(0) string(42) "Sunday, October 27, 2013 at 1:30:00 AM GMT" int(1) string(43) "Sunday, October 27, 2013 at 12:30:00 AM GMT"