我有这个命令:
<?php
$now = new DateTime();
echo $now->format("M j, Y H:i:s O")."'n";
?>
现在给出一个-0400
作为 GMT 值。
我不记得 3 月 8 日(更改为夏令时)之前的值是多少。 还-0400
吗? 或者也许是-0500
?
(我有一个不同的脚本,应该与我的服务器时间同步,所以我需要知道这一点以了解我是否应该更改手动设置为 -0400
的脚本的 GMT)
正如马克所说,格林威治标准时间不会改变。仅(可能)您的本地偏移量。
要计算特定日期的 GMT 偏移量,您可以使用timezone_offset_get它将以秒为单位返回偏移量。
多米尼加共和国的例子:
$timezone = new DateTimeZone('America/Dominica');
$date = new DateTime('2015-03-07', $timezone);
echo $timezone->getOffset($date);
请注意,GMT-4 时区中的大多数国家/地区实际上没有任何夏令时更改,因此您可能会发现偏移量始终完全相同,具体取决于国家/地区。