php - mysql UNIX_TIMESTAMP 返回不正确的值

标签 php mysql

我在 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/

相关文章:

php - 如何通过每个产品的多个选项来简化电子商务数据库设计?

php - pngquant 不适用于 php

java - 如何将 php 变量返回给 android 应用程序?

php - 如何创建一个使用菜单/单选按钮从 MySQL 数据库提取数据的网站?

mysql - 没有时间戳的 HQL 中的日期比较

javascript - 列出选定类别和价格范围内的产品

php - 多个 NuSOAP 客户端导致 "Undefined index: _transient"错误

php - 同一服务器中 Rails 应用程序子目录中 Wordpress 的 nginx 配置

php - 使用多个用户选择从数据库中过滤数据

mysql - MySQL 一天内多个项目的单独计数