这可能是一个简单的问题,因为我是PHP的新手,我需要在DateTimeZone
上创建UTC-05:00
,我已经浏览了一下,大多数示例使用城市的名称来获取时区如:
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");
但我实际上不知道UTC-05:00
上的哪个城市(它是动态的,可能是UTC+05:00
或其他值),我明白了:
$utcTimeZone = new DateTimeZone("UTC");
正在运作但是:
$myTimeZone = new DateTimeZone("UTC-05:00");
无效。
那么,如何在DateTimeZone
上创建UTC-05:00
? DateTimeZone
的{{3}}未提及此
答案 0 :(得分:1)
这正是问题所在。你不能从偏移到时区。有许多时区在任何给定时间具有相同的偏移量,但这些是不同的时区,因为它们的偏移量在一年中的不同时间发生变化。时区与偏移量不同;时区是一组规则,在此期间,偏移量处于活动状态。您可以做的最好的事情是列出当前偏移量为-05:00的时区列表,但您无法识别某个特定时区。
话虽如此,PHP确实支持兼容性时区Etc/GMT+1
等。请参阅http://www.php.net/manual/en/timezones.others.php。但请注意,这些可能与UTC + XX和
警告
请不要使用此处列出的任何时区(除了UTC),它们仅出于向后兼容的原因而存在。