在提交到 MySQL 的UTC_TIMESTAMP增加一小时


Adding one hour to UTC_TIMESTAMP for submission to MySQL

我使用以下代码将UTC_TIMESTAMP提交到MySQL数据库:

$logq = "INSERT INTO logs (Name, Page, Date) VALUES ('$user', '$page', UTC_TIMESTAMP())";

我在英国,时间目前比UTC_TIMESTAMP早一小时,所以我想在输入的值上添加一个小时,但我不确定如何做到这一点。 我尝试了在堆栈溢出上找到的一些建议,但两者都不起作用。 有人可以让我知道如何正确执行此操作吗? 另外,我不确定如何处理夏令时。 有没有办法自动解释这一点?

谢谢

缺口

DATE_ADD(UTC_TIMESTAMP(), INTERVAL 1 HOUR)
无论身

在何处,mysql 数据类型 TIMESTAMP 始终是 UTC。您有一个函数FROM_UNIXTIME,它将时间戳内部转换为标准 YYYY-MM-DD HH:SS 格式。使用该函数FROM_UNIXTIME时,它会自动将该 UTC 转换为您的本地时区。因此,您无需调整时间,无论您的日光状态如何,会计都将始终很好。

在 PHP 中创建与数据库的连接后,请在任何查询之前查询以下代码:

mysql_query("SET time_zone = '+3:00'");

我没有尝试过,但它应该可以解决问题。

关于此内容的一些链接:

  • MySQL 为每个连接设置时区
  • 如何同步 PHP MySQL 时区配置

请使用 mysql 的 ADDDATE 函数,使用它您可以在任何日期添加小时/月/日。

 ADDDATE( UTC_TIMESTAMP(), INTERVAL 1 HOUR)

请查看下面给出的网址属于mysql日期时间函数

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

谢谢

这也有效选择DATE_ADD( UTC_TIMESTAMP(),间隔 1 天)