我的数据库字段中有时区偏移量。我需要比较(created_date +时区偏移)与(当前日期+时区偏移)。
DATE(created_date + INTERVAL timezone_offset SECOND)
我知道如何在创建的日期字段中添加时区。但我必须使用date("Y-m-d H:i:s)
添加时区。
我在mysql查询中需要以下内容,
DATE("use php date function to get current date and time" + INTERVAL timezone_offset SECOND)
SQL查询示例:
SELECT * FROM `admin` AS `A`
INNER JOIN `timezones` AS `T` ON `T`.`admin_id`=`A`.`admin_id`
WHERE (DATE(A.current_date + INTERVAL T.timezone_offset SECOND) != DATE('current datetime by php function ' + INTERVAL T.timezone_offset SECOND)))
请帮忙。
答案 0 :(得分:2)
如果你的MySQL实例加载了时区表(参见http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html),那么你可以使用非常方便的CONVERT_TZ函数。
CONVERT_TZ(created_date, {time zone name that created_date is created in}, {time zone name you want})
我一直都在使用它,非常方便。
答案 1 :(得分:2)
您可以在sql Query中使用date("Y-m-d H:i:s)
函数,如下所示。
"SELECT * FROM `admin` AS `A`
INNER JOIN `timezones` AS `T` ON `T`.`admin_id`=`A`.`admin_id`
WHERE (DATE(A.current_date + INTERVAL T.timezone_offset SECOND) != DATE('".date("Y-m-d H:i:s")."' + INTERVAL T.timezone_offset SECOND)));"
您只需在Sql Query中添加日期(“Y-m-d H:i:s”)函数。