2013-10-16 37 views
1

我一直在用这个SQL语句撕开我的头脑,我试图在当前时间添加8个小时,因为服务器在另一个国家,并且它在8AM GMT。我想它来更新在上午12点GMT因此增加8小时至当前的日期,如果有人能提供一些线索或解决方案,我将非常感激:)这是我有这么远如何在MySQL中添加当前日期的小时数

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

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

这我想出了,但它不显示任何内容:(

+0

或者你可以认为以另一种方式,就像从数据中减去8个小时,''DATE_SUB(DATE('日期'),INTERVAL 8 HOURS)= CURDATE()'' – TheOnly92

回答

3

尝试

SELECT * FROM timetable WHERE DATE (date) = date(now()+interval 8 hour) 
+0

是的!天才!我用+23小时和+22进行了测试,日期变化为+23哦,你的明星伴侣欢呼:) – Rickshaw

0

MySQL有一个timezone conversion command

CONVERT_TZ()从TI转换日期时间值DT me区域由from_tz给出to_tz给出的时区并返回结果值。时区按第10.6节“MySQL服务器时区支持”中所述进行指定。如果参数无效,此函数返回NULL。

-1

你可以试试这个

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

DateTimeField字段应该是时间戳的 感谢

相关问题