【发布时间】:2009-09-23 04:14:14
【问题描述】:
在 PHP 中,我如何在不知道托管服务提供商所在位置的硬编码知识的情况下以 UTC 格式获取当前时间?
例如,我尝试了以下方法:
time() + strtotime('January 1, 2000')-strtotime('January 1, 2000 UTC')
并发现它报告的时间比实际 UTC 时间早一小时。我在两个不同时区的两个不同托管服务提供商上进行了尝试,结果相同。
是否有可靠(并且希望更简洁)的方法来准确获取 UTC 时间?
我仅限于 PHP 4.4.9,因此我无法使用 PHP5 中添加的新时区内容。
谢谢,提前。
【问题讨论】:
-
只是检查一下,托管服务提供商是否与您在同一时区?您可以尝试检查 date("T") 的输出以查看。
-
@Tom:如果 OP 可以假设他的提供者在某个区域,那将起作用。
date("T")的问题在于,例如“EST”可能来自北美 EST 或澳大利亚 EST。 -
我只是在寻找信息。请参阅下面的答案,了解似乎在所有情况下都有效的解决方案。您关于时区缩写的观点。很好,因为我所有的服务器都在美国,所以我从来没有处理过。