(PHP 5.5.0, PECL >= 3.0.0a1)
IntlCalendar::inDaylightTime — Whether the objectʼs time is in Daylight Savings Time
面向对象风格
过程化风格
Whether, for the instant represented by this object and for this objectʼs timezone, daylight saving time is in place.
cal
The IntlCalendar resource.
Returns TRUE
if the date is in Daylight Savings Time, FALSE
otherwise.
The value FALSE
may also be returned on failure, for instance after
specifying invalid field values on non-lenient mode; use exceptions or query
intl_get_error_code() to disambiguate.
Example #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