将unix时间戳与本地时间设置一起使用时,datetime会向前一小时

时间:2011-10-01 12:43:15

标签: php mysql timezone unix-timestamp

首先,我想告诉我的服务器时间设置: +3 Europe / Istanbul 在PHP我正在使用

date_default_timezone_set('Europe/Istanbul');

我在我的mysql表中使用datetime类型,当我插入行时,其编写如 2011-10-01 15:16:09 其正确没有问题但在php端我查询和回显时约会时间 echo strftime("%d %b %Y, %a %H:%M",strtotime(date("m/d/Y H:i",$data['UNIX_TIMESTAMP(date)']))); 我有一个小时的时间,比如 16:16:09

我不明白如何弄明白。有什么想法吗?

修改: 插入行时我给mysql提供了日期,它不使用内部日期信息,如CURRENT_TIMESTAMP

1 个答案:

答案 0 :(得分:0)

问题几乎可以肯定是由于夏令时。如果代码的一部分指定了+3,则已经针对夏令时进行了更正。如果代码的其他部分无法将日期识别为夏令时已正确,则会增加一小时。

我知道这不是一个好的答案,但我似乎还没有发表评论。