<?php
$tz = new DateTimeZone("Europe/Berlin");
$trs = $tz->getTransitions(
strtotime('1938-01-01 UTC'), strtotime('1948-01-01 UTC')
);
foreach ($trs as $tr) {
printf("%20s %7d %d %s\n",
$tr['time'], $tr['offset'], $tr['isdst'], $tr['abbr']);
}
$loc = $tz->getLocation();
echo 'Info: ', join( ' - ', $loc ), "\n";
Output
1938-01-01T00:00:00+00:00 3600 0 CET
1940-04-01T01:00:00+00:00 7200 1 CEST
1942-11-02T01:00:00+00:00 3600 0 CET
1943-03-29T01:00:00+00:00 7200 1 CEST
1943-10-04T01:00:00+00:00 3600 0 CET
1944-04-03T01:00:00+00:00 7200 1 CEST
1944-10-02T01:00:00+00:00 3600 0 CET
1945-04-02T01:00:00+00:00 7200 1 CEST
1945-05-24T00:00:00+00:00 10800 1 CEMT
1945-09-24T00:00:00+00:00 7200 1 CEST
1945-11-18T01:00:00+00:00 3600 0 CET
1946-04-14T01:00:00+00:00 7200 1 CEST
1946-10-07T01:00:00+00:00 3600 0 CET
1947-04-06T02:00:00+00:00 7200 1 CEST
1947-05-11T01:00:00+00:00 10800 1 CEMT
1947-06-29T00:00:00+00:00 7200 1 CEST
1947-10-05T01:00:00+00:00 3600 0 CET
Info: DE - 52.5 - 13.36666 - most of Germany