向UTC_TIMESTAMP添加一个小时以提交给MySQL

问题描述 投票:1回答:5

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

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

我在英国,时间目前比UTC_TIMESTAMP早一小时,所以我想在输入的值上加上一小时,但是我不确定该怎么做。我尝试了一些在Stack Overflow上发现的建议,但是都没有用。有人可以让我知道如何正确执行此操作吗?另外,我不确定如何处理夏时制。有没有一种自动解决此问题的方法?

谢谢,

尼克

php mysql date utc
5个回答
8
投票
DATE_ADD(UTC_TIMESTAMP(), INTERVAL 1 HOUR)

2
投票

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


0
投票

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

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

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

有关此的一些链接:


0
投票

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

 ADDDATE( UTC_TIMESTAMP(), INTERVAL 1 HOUR)

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

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

谢谢


0
投票

这也可以SELECT DATE_ADD(UTC_TIMESTAMP(),间隔1天)

© www.soinside.com 2019 - 2024. All rights reserved.