2012-08-07 72 views
2

我有一个奇怪的错误。 如果我称之为:PHP date()显示明天的日期

date("js M") 

它显示明天的日期,我不知道是什么改变,因为昨天函数工作得很好。 据我所知,我还没有测试任何产品,它只发生在本地主机上。

我已经检查过我的时钟,它是正确的,有没有其他的地方PHP取日期?什么可以改变? 谢谢!

+0

当你说你已经检查了你的时钟,你的意思是服务器上的这个返回这个吗?此外,Web服务器/ PHP的时区是否与服务器的时区相匹配。几年前,两台服务器出现类似的问题,其中一台的时区设置为悉尼,另一台设置为墨尔本,然后夏令时启动,并突然间隔一小时返回结果。 – Adrian 2012-08-07 22:17:24

+0

是的,我的意思是那个回来的人。 该时钟设置为“2012年8月7日”(今日日期供参考),但该功能显示“2012年8月8日” 有点让我感到吃惊,因为昨天工作得很好,而我是只有一个与服务器混淆的人(据我所知),并且我还没有触及过时区配置。 – ILikeTacos 2012-08-07 22:31:35

回答

8

默认情况下,date()函数使用一个始终设置为+0:00的unix时间戳。

date_default_timezone_set('America/New_York'); 

如果您设置默认的时区,使用将应用正确的偏移到您所在位置的unix时间戳,你应该无论你身在何处会得到你正确的日期。

+0

或http://www.php.net/manual/en/timezones.php – h2ooooooo 2012-08-07 22:14:30

+1

其他任何时区的解释有点短,但确实可能是一个时区问题。 – Pevara 2012-08-07 22:15:13

+0

谢谢!这工作!但是可能会导致什么时间改变?我根本没有触及配置。 – ILikeTacos 2012-08-07 22:15:29