使用时间偏移修复数据库查询

时间:2015-10-26 13:06:58

标签: mysql

目前我有一个查询,我根据当前日期和当前时间检查数据:

SELECT ...
FROM ...
WHERE ...
AND DATE(event_date ) = '".$cur_date."'
AND event_time > '" . $cur_time . "'

,其中

$cur_date = date('Y-m-d');
$cur_time = date('H:i');

但是,我们刚刚在db表中添加了一个包含UTC时间偏移量的列,以分钟为单位,当前:-300

我需要调整查询以反映调整。不太确定如何在mySQL中做到这一点。在PHP中我只是做这样的事情:

date('g:i A', strtotime($event_date) + ($offset_time * 60)); 

我的数据库位于不同的服务器上。知道它与我的用户位置的相对时间的唯一方法是通过UTC时间偏移。

2 个答案:

答案 0 :(得分:0)

使用MySQL CURDATE(),CURTIME()

SELECT FROM table 
WHERE 
AND DATE(event_date) = CURDATE()
AND event_time > CURTIME()

答案 1 :(得分:0)

首先设置mysql的时区: -

SET GLOBAL time_zone = '+5:00';//your time_zone
SET GLOBAL time_zone = 'Europe/Helsinki';//your time_zone name
SET @@global.time_zone='+00:00';