【发布时间】:2015-01-19 01:33:45
【问题描述】:
有人可以解释为什么以下不起作用吗?
我有一个在共享主机帐户上运行的 PHP 脚本。该脚本应该输出我的当地时间(对于我所在的时区,即GMT-8:00,或PST。)
我正在阅读time() PHP 方法的文档,该方法应该以 UTC(或 GMT)返回 Unix 时间戳。好的,很好。所以我需要减去 8 小时才能得到我的当地时间,对吧?
所以我正在这样做:
echo(date("n/j/Y, g:i:s A", time() - 28800)); //8hrs = 28800 seconds
但我得到的时间晚了 5 小时!
这样的单行语句有什么问题?
PS。对不起,如果我问的是显而易见的。我来自.NET 的世界。我是 PHP 新手。
【问题讨论】:
-
date_default_timezone_set可能更有用且更易于使用 -
@scrowler:我不确定是否要更改任何全局设置。我正在使用可能依赖它的其他库。
-
我无法想象什么代码应该真正关心他们所在服务器的时区。
-
@Ja͢ck:我正在开发其网站的实体店的当地时间,我需要它。