A timezone changes how the same instant is displayed.

Timezone Convert

timezone_convert.php
<?php
$zone = ;
$utc = new DateTimeImmutable("2026-05-31 12:00:00", new DateTimeZone("UTC"));
$local = $utc->setTimezone(new DateTimeZone($zone));

echo "zone=" . $zone . "\n";
echo "hour=" . $local->format("H:i") . "\n";
<?php
$zone = ;
$utc = new DateTimeImmutable("2026-05-31 12:00:00", new DateTimeZone("UTC"));
$local = $utc->setTimezone(new DateTimeZone($zone));

echo "zone=" . $zone . "\n";
echo "hour=" . $local->format("H:i") . "\n";
<?php
$zone = ;
$utc = new DateTimeImmutable("2026-05-31 12:00:00", new DateTimeZone("UTC"));
$local = $utc->setTimezone(new DateTimeZone($zone));

echo "zone=" . $zone . "\n";
echo "hour=" . $local->format("H:i") . "\n";
same instant The instant stays the same; the local hour changes with the timezone.