Daylight saving issues
Possible Duplicate:
Daylight saving time and Timezone best practices
基本上我有以下问题:
我有一个包含所有GMT偏移量的表,基于该表,我计算了用户小时数(相对于服务器小时数),但有些用户按小时计算。
所以我的函数看起来是这样的,它需要gmt+/-3600*userstz(gmt offset)。伦敦看起来不错,澳大利亚看起来不错,但是萨摩亚,而不是5:6。
我想日光节约可能就是这样,有什么想法吗?
- PHP的datetime和strtotime支持DST。用它们代替。
- 感谢戈登,但在回答之前请像一个论坛机器人一样提问:p.我已经检查了上述主题,strtotime不工作,萨摩亚时间在strtotime的"太平洋/萨摩亚"时区显示不正确,现在应该是周一(wst)的9:01,我认为这是相当温和的,因为萨摩亚是格林尼治标准时间11,所以是晚上10点。另外,我需要根据每个客户的TZ来做这件事
- 然后我想知道为什么你接受了我从一开始就提出的答案?
PHP可以本机处理时区。你只需要把时区设置成奥尔森格式,比如美国/纽约。
然后,您可以使用日期u默认u时区u集或任何其他了解时区的php datetime内容。
仔细阅读一下PHP文档会非常有帮助。尤其是这里和这里。
- 是的,但这不会改变整个脚本中所有日期和时间函数的所有日期和时间行为,在这里我只能修改一个函数,而且这不是我的服务器,更改功能以满足作为开发人员的需要不是一个选项。
- 这只是一个简单方法的例子。您可以使用DateTime类代替它,它将DateTimeZone对象作为参数。如我之前所说,我强烈建议你通读这些文件。
- 尝试过,但它说它不认识这个类,并且在编译im afraid that means the PHP wasn时就考虑到了这个问题。没有重新编译PHP的奢侈。
- 您使用的是什么版本的PHP?这是从5.2.0版开始内置的…
- 谢谢,问题解决了:)你得到我的选票了