我使用以下代码将UTC_TIMESTAMP提交到MySQL数据库:
$logq = "INSERT INTO logs (Name, Page, Date) VALUES ('$user', '$page', UTC_TIMESTAMP())";
我在英国,时间比UTC_TIMESTAMP提前一小时,所以我想在输入的值上加一小时,但我不知道该怎么做。我尝试了Stack Overflow上的一些建议,但两者都不起作用。有人能让我知道如何正确地做到这一点吗?另外,我不知道如何处理夏令时。有没有办法自动计算?
谢谢,
尼克
答案 0 :(得分:8)
DATE_ADD(UTC_TIMESTAMP(), INTERVAL 1 HOUR)
答案 1 :(得分:2)
无论在何处,mysql数据类型TIMESTAMP始终为UTC。您有一个FROM_UNIXTIME函数,它将内部时间戳转换为标准的YYYY-MM-DD HH:SS格式。使用FROM_UNIXTIME函数时,它会自动将该UTC转换为您的本地时区。所以你不需要调整时间,无论你的日光状态如何,会计都会很好。
答案 2 :(得分:0)
在PHP中创建与数据库的连接后,在任何查询之前查询此代码:
mysql_query("SET time_zone = '+3:00'");
我没有尝试过,但应该这样做。
关于此的一些链接:
答案 3 :(得分: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
感谢
答案 4 :(得分:0)
这也有效 SELECT DATE_ADD(UTC_TIMESTAMP(),间隔1天)