<?php
date_default_timezone_set("America/New_york");
$tz = new DateTimeZone(isset($_GET['zone']) ? $_GET['zone'] : "America/New_york");
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 T'), $tr['offset'], $tr['abbr']
);
?>
<form><select name='zone'>
<?php foreach(DateTimeZone::listIdentifiers() as $id) {
echo "<option value='$id'>$id</option>\n"; } ?>
</select><input type="submit" value="go"/></form>
Output
The timezone America/New_york switches to DST on 09 Mar 2025 @ 07:00 GMT+0000.
The new GMT offset will be: -14400 (EDT)
The new GMT offset will be: -14400 (EDT)