获取给定位置的时区偏移量

Luk*_*uke 7 php timezone location dst

在PHP中是否可以获得给定位置的时区偏移量?例如,当给定位置"悉尼/澳大利亚"以使时区偏移为"+1100"时.奖励将是这个功能,以保持夏令时(即它意识到夏令时并根据调整偏移).

Chr*_*nes 19

您可以使用DateTimeZone类.

<?php
$timezone = new DateTimeZone("Australia/Sydney");
$offset = $timezone->getOffset(new DateTime("now")); // Offset in seconds
echo ($offset < 0 ? '-' : '+').round($offset/3600).'00'; // prints "+1100"
?>
Run Code Online (Sandbox Code Playgroud)


Dav*_*unt 7

要显示本地日期/时间,您可以使用以下内容,其中"Europe/Berlin"将替换为用户的时区.

$date = new DateTime($value);
$date->setTimezone(new DateTimeZone('Europe/Berlin'));
echo $date->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)