(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::inDaylightTime — 对象的时间是否处于夏令时
面向对象风格
过程式风格
对于由该对象表示的时刻以及该对象的时区,夏令时是否生效。
calendar
一个 IntlCalendar 实例。
如果日期处于夏令时,则返回 true
,否则返回 false
。
失败时也会返回 false
。要检测错误情况,请使用 intl_get_error_code(),或者将 Intl 设置为抛出 异常。
示例 #1 IntlCalendar::inDaylightTime()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1, 4, 56, 31);
var_dump($cal->inDaylightTime()); // true
$cal->set(IntlCalendar::FIELD_MONTH, 11 /* December */);
var_dump($cal->inDaylightTime()); // false
//DST end transition on 2013-10-27 at 0200 (wall time back 1 hour)
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30, 0);
var_dump($cal->inDaylightTime()); // false (default WALLTIME_LAST)
$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1); // force time recalculation
var_dump($cal->inDaylightTime()); // true