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 — タイムゾーンの変遷を返す
説明
array timezone_transitions_get
( DateTimeZone $object
)
array DateTimeZone::getTransitions
( void
)
パラメータ
- object
-
DateTimeZone オブジェクト。
返り値
成功した場合にタイムゾーンの遷移を表す連想配列の配列、 失敗した場合に FALSE を返します。
例
例1 timezone_transitions_get() の例
<?php
$timezone = new DateTimeZone("CET");
print_r(reset($timezone->getTransitions()));
?>
上の例の出力は、たとえば 以下のようになります。
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
