From Derick's talk (http://talks.php.net/show/time-ffm2006/28)
<?php
$tz = new DateTimeZone("PST");
foreach (timezone_transitions_get($tz) as $tr)
if ($tr['ts'] > time())
break;
$d = new DateTime( "@{$tr['ts']}" );
printf("The timezone %s switches to %s on %s.<br/>The new GMT offset will be: %d (%s)\n",
$tz->getName(), $tr['isdst'] ? "DST" : "standard time",
$d->format('d M Y @ H:i'), $tr['offset'], $tr['abbr']
);
?>
timezone_transitions_get
(PHP 5 >= 5.2.0)
timezone_transitions_get — Returns all transitions for the timezone
Description
array timezone_transitions_get
( DateTimeZone $object
)
array DateTimeZone::getTransitions
( void
)
Parameters
- object
-
DateTimeZone object.
Return Values
Returns numerically indexed array containing associative array with all transitions on success or FALSE on failure.
Examples
Example #1 A timezone_transitions_get() example
<?php
$timezone = new DateTimeZone("CET");
print_r(reset($timezone->getTransitions()));
?>
The above example will output something similar to:
Array ( [ts] => -1693706400 [time] => 1916-04-30T22:00:00+0000 [offset] => 7200 [isdst] => 1 [abbr] => CEST )
timezone_transitions_get
gopalv at php dot net
19-Jun-2007 10:10
19-Jun-2007 10:10
