Get timezone offset for a given location
在PHP中是否可以获得给定位置的时区偏移量? 例如。 当给定位置"悉尼/澳大利亚"时,将时区偏移量设为"+1100"。 奖励是为了这个功能,保持夏令时(即它知道夏令时并根据调整偏移)。
您可以使用DateTimeZone类。
1 2 3 4 5 | <?php $timezone = new DateTimeZone("Australia/Sydney"); $offset = $timezone->getOffset(new DateTime("now")); // Offset in seconds echo ($offset < 0 ? '-' : '+').round($offset/3600).'00'; // prints"+1100" ?> |
要显示本地日期/时间,您可以使用以下内容,其中"Europe / Berlin"将替换为用户的时区。
1 2 3 | $date = new DateTime($value); $date->setTimezone(new DateTimeZone('Europe/Berlin')); echo $date->format('Y-m-d H:i:s'); |
不确定为什么你需要"+1100"(而不是十进制表示),但你可以使用这个:
1 2 3 4 5 6 |
将