(PHP 5 >= 5.2.0)
DateTimeZone::getTransitions — Returns all transitions for the timezone
Objektorientierter Stil
Prozeduraler Stil
Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebens DateTimeZone Objekt.
Begin timestamp.
End timestamp.
Returns numerically indexed array containing associative array with all transitions on successIm Fehlerfall wird FALSE zurückgegeben..
| Version | Beschreibung |
|---|---|
| 5.3.0 | The optional timestamp_begin and timestamp_end were added. |
Beispiel #1 A timezone_transitions_get() example
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Array
(
[0] => Array
(
[ts] => -9223372036854775808
[time] => -292277022657-01-27T08:29:52+0000
[offset] => 3600
[isdst] => 1
[abbr] => BST
)
[1] => Array
(
[ts] => -1691964000
[time] => 1916-05-21T02:00:00+0000
[offset] => 3600
[isdst] => 1
[abbr] => BST
)
[2] => Array
(
[ts] => -1680472800
[time] => 1916-10-01T02:00:00+0000
[offset] => 0
[isdst] =>
[abbr] => GMT
)
)
Getting a timezone's offset and other data at a specified point in time (now, for example) using the new PHP5.3 parameters:
<?php
$theTime = time(); # specific date/time we're checking, in epoch seconds.
$tz = new DateTimeZone('America/Los_Angeles');
$transition = $tz-getTransitions($theTime,$theTime);
# only one array should be returned into $transition. Now get the data:
$offset = $transition[0]['offset'];
$abbr = $transition[0]['abbr'];
?>
Before PHP5.3, you'd have to loop through all of the Transitions up until the current point in time, which would be a very inefficient process.