【发布时间】:2011-11-29 00:49:50
【问题描述】:
首先我想告诉我的服务器时间设置:它的 +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
【问题讨论】:
-
$data['UNIX_TIMESTAMP(date)']中的值是多少?1317471369? -
是的@salathe 就像 1317471369 Mysql 将日期时间转换为时间戳格式,所以我在 php 日期函数中使用它来创建该日期和时间。但不知何故它提前了一小时
-
但它是像 1317471369还是实际上是1317471369?
-
另外,你为什么要从unix时间戳到格式化日期,再到unix时间戳,再到格式化日期?为什么不只是
strftime("…", $data[…])? -
@salathe 你是对的。首先,我打算按照您的建议这样做,但我不想为爆炸日期时间而苦苦挣扎,以格式化我需要的格式:)有时首先想到的是正确答案;)
标签: php mysql timezone unix-timestamp