2

这可能是一个简单的问题,因为我是 PHP 的新手,我需要在 上创建DateTimeZoneUTC-05:00我环顾四周,大多数示例使用城市名称来获取时区,例如:

$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

但我实际上不知道是什么样的城市UTC-05:00(它是动态的,也许是UTC+05:00其他价值),我看到:

$utcTimeZone = new DateTimeZone("UTC");

正在工作,但是:

$myTimeZone = new DateTimeZone("UTC-05:00");

不工作。

那么,我该如何创建DateTimeZoneUTC-05:00?的构造函数DateTimeZone没有提到这个

4

1 回答 1

1

这正是问题所在。您不能从偏移量转到时区。有许多时区在任何给定时间具有相同的偏移量,但它们是不同的时区,因为它们的偏移量在一年中的不同时间发生变化。时区与偏移量不同;时区是一组规则,在这些规则中,偏移量在一年中处于活动状态。您可以做的最好的事情是列出当前偏移量为 -05:00 的时区,但您无法识别一个特定的时区。


话虽如此,PHP 确实支持兼容性时区Etc/GMT+1等。请参阅http://www.php.net/manual/en/timezones.others.php。但请注意,这些时区可能与 UTC+XX 不完全相同,并且:

警告

请不要使用此处列出的任何时区(UTC 除外),它们仅出于向后兼容的原因而存在。

于 2013-10-21T09:17:31.127 回答