1

我一直在用这个 SQL 语句撕裂我的头,我试图在当天增加 8 小时,因为服务器在另一个国家,它在格林威治标准时间上午 8 点更新。我希望它在格林威治标准时间上午 12 点更新,因此将当前日期增加 8 小时,如果有人能提供一些启示或解决方案,我将非常感激 :) 这就是我到目前为止所得到的

("SELECT * FROM timetable  WHERE DATE (date) = CURDATE()");

("SELECT * FROM timetable  WHERE DATE (date) = DATE_ADD(CURDATE(),INTERVAL 8 HOUR)"); 

这就是我想出的,但它没有显示任何东西:(

4

3 回答 3

4

尝试

SELECT * FROM timetable WHERE DATE (date) = date(now()+interval 8 hour)
于 2013-10-16T08:14:49.437 回答
0

mysql有一个时区转换命令

CONVERT_TZ() 将日期时间值 dt 从 from_tz 给定的时区转换为 to_tz 给定的时区,并返回结果值。时区的指定如第 10.6 节,“MySQL 服务器时区支持”中所述。如果参数无效,此函数返回 NULL。

于 2013-10-16T08:16:47.847 回答
0

你可以试试这个

SELECT * FROM timetable WHERE datetimefield >= DATE_SUB(NOW(), INTERVAL 8 HOUR)

datetimefield 应该是时间戳谢谢

于 2013-10-16T08:18:07.420 回答