相当直截了当:
PHP以下列格式返回时区:
"America/Los_Angeles"我想把它转换成:
-7我找到了许多代码来转换它,用自定义函数计算差异。但是作为一个极简主义者,我不敢相信没有一种更简单的方法(也许是日期时间函数)可以立即得到这个值。有人知道这事吗?
发布于 2014-08-02 01:03:30
PHP使用来自IANA时区数据库的标准时区。
“美国/洛杉矶”和-7不一样。-7是“时区抵消”,而不是“时区”。阅读时区标记wiki中的“时区!=偏移”。
考虑到"America/Los_Angeles"代表美国太平洋时间,在太平洋夏令时只有-7。今年剩下的时间是太平洋标准时间(PST),也就是-8。
John的答案中提供的代码将正确地给出时区用于当前日期和时间的偏移量。注意,该值将根据运行代码的时间而变化。
另外,您应该认识到,尽管您可以在任何特定时刻确定特定时区的偏移量,但情况并非如此。你不能把-7当作一个时区,希望有人能够判断这是太平洋夏令时间。考虑到-7也适用于亚利桑那州常年使用的山地标准时间.
https://stackoverflow.com/questions/25086456
复制相似问题