函数名:IntlCalendar::setSkippedWallTimeOption()
适用版本:PHP 5 >= 5.5.0, PHP 7, PHP 8
函数说明:该函数用于设置在跳过夏令时时要采取的操作选项。
用法:
bool IntlCalendar::setSkippedWallTimeOption(int $wallTimeOption)
参数:
返回值:
示例:
$calendar = IntlCalendar::createInstance();
$calendar->setSkippedWallTimeOption(IntlCalendar::WALLTIME_LAST);
// 设置夏令时跳过选项为使用最后一次有效时间
$timestamp = strtotime("2021-03-14 02:30:00");
$calendar->setTime($timestamp);
echo $calendar->get(IntlCalendar::FIELD_HOUR_OF_DAY); // 输出 3
在上面的示例中,我们创建了一个IntlCalendar实例,并将setSkippedWallTimeOption()函数的参数设置为IntlCalendar::WALLTIME_LAST。然后,我们设置了一个时间戳为2021年3月14日2:30:00,并使用setTime()函数将IntlCalendar实例的时间设置为该时间戳。最后,我们使用get()函数获取当前时间的小时,并输出结果为3。这是因为在夏令时开始时,时间跳过了2:00-3:00之间的时间,所以实际上的时间是3:30:00。通过设置setSkippedWallTimeOption()函数的参数为IntlCalendar::WALLTIME_LAST,我们选择了夏令时结束时的最后一个时间点,即3:00:00。