我在 mysql 中将以下日期存储在 DATETIME 字段中:
2012-04-16 16:21:54
比起我这样选择它:
SELECT UNIX_TIMESTAMP(date) ....
但是如果我使用 php 日期函数打印小时,我会得到一个小时的差异:
echo date("H:i:s", $row->date)
将打印:
17:21:54
如果没有第二个参数,日期函数将返回正确的值。有什么想法吗?
最佳答案
根据mysql手册-
UNIX_TIMESTAMP()
, UNIX_TIMESTAMP(日期)
如果不带参数调用,则返回一个 Unix 时间戳(自“1970-01-01 00:00:00”UTC 以来的秒数)作为无符号整数。如果使用日期参数调用 UNIX_TIMESTAMP()
,它将参数值返回为自“1970-01-01 00:00:00”UTC 以来的秒数。 date 可以是 DATE 字符串、DATETIME 字符串、TIMESTAMP 或格式为 YYMMDD 或 YYYYMMDD 的数字。服务器将日期解释为当前时区的值,并将其转换为 UTC 的内部值。客户端可以按照第 10.6 节,“MySQL 服务器时区支持”中的描述设置他们的时区。
关于php - mysql UNIX_TIMESTAMP 返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10173184/