我需要UTC-8 / GMT-8作为php时区。我不能使用美国\洛杉矶,因为它节省了一天的时间

时间:2017-03-10 18:23:34

标签: php date datetime timezone

简单的问题,但似乎无法找到答案

我需要将时区设置为UTC-8并且只有UTC-8(GMT-8实际上是相同的)。它不能是节省日光时间的时区。

现在PHP似乎没有提供设置为GMT-8的方法,当使用Etc/GMT-8时我得到了错误的时间(我之前得到了偏移方式)like it says in the DOCS

现在我可以使用GMT + 8来实现GMT-8(听起来很奇怪但是我引用:

  

警告如果您忽视上述警告,请另外注意   提供PHP时区支持的IANA时区数据库使用POSIX   样式符号,导致Etc / GMT + n和Etc / GMT-n时区   从普通用途中撤消。例如,时区8小时   在中国和西澳大利亚使用的GMT之前(以及其他   这个数据库中实际上是Etc / GMT-8,而不是Etc / GMT + 8   通常会期待。

由于UTC-8中没有国家,我不能把国家放在那里......

所以我使用Etc / GMT + 8并交叉手指他们不会改变它?

1 个答案:

答案 0 :(得分:1)

是的,您绝对可以将Etc/GMT+8用于固定为UTC-8的时区。不,它不会改变。 IANA时区名称是标识符,并且保证不会从tz数据库中删除它们。

那就是说,我要求你质疑为什么你需要一个UTC-8固定偏移时区:

  • 是因为您在Pitcairn Islands(人口49)上引用时间?如果是,请使用Pacific/Pitcairn

  • 是否因为您正在计算在海拔112.5°W到127.5°W之间的海上船舶的时间?如果是,请使用Etc/GMT+8

  • 是因为您认为DST不重要,或者您不喜欢它,或者您被要求不包含它等等?对不起,不管你喜欢与否 - 实际占据这些区域的人确实使用夏令时。如果您选择不这样做,那么您的时钟将在一年中的相当一部分时间与他们的时钟不同。使用America/Los_AngelesAmerica/TijuanaAmerica/VancouverAmerica/DawsonAmerica/Whitehorse