date()和Daylight节省问题

时间:2014-07-01 16:35:26

标签: php mysql date timezone timezone-offset

我的服务器上有PHP和MySQL之间的同步日期计算问题。

目前,服务器时间为:Tue Jul 1 12:30:35 EDT 2014,时区设为America/New_York

在MySQL中运行SELECT NOW()会返回2014-07-01 12:30:54,显示MySQL日期与服务器相同。

然而,PHP date('I')返回0date('Y-m-d H:i:s T')返回2014-07-01 11:30:35 EST

知道这里的PHP有什么问题吗?

1 个答案:

答案 0 :(得分:2)

见Q& A => PHP date("I") for a future or past date - 它可能会帮助减少一些“光线”#34;就此主题而言; pardon the pun ;-) - Fred -ii- 17分钟前

您将DST设置为开启,日期(" I")从当前实际时间减去一小时。永远记住"向前冲,退回"我们在春天将时钟提前一小时,然后在秋天将它们放回一小时。 - VikingBlooded 14分钟前

你们回复的人;考虑到我使用date_default_timezone_set(' America / New_York'),设置is_daylisght_saving = date(" I",future_timestamp)不起作用;到EST的默认时区 - Stephane Kouakou 8分钟前

对我来说,date_default_timezone_set(' America / New_York');回音日期(' I');给出1和它的2014-07-01 12:46:11 EDT。 - 杰克7分钟前

是的它现在有效!谢谢!!! - Stephane Kouakou 4分钟前

当您SELECT NOW()时,MySQL会尊重服务器中time_zone设置的当前值。在PHP中,您需要确保它知道当前的时区设置。