3

我的数据库字段中有时区偏移量。我需要将(created_date + time zone offset)与(current date + time zone offset)进行比较。

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)))

请帮忙。

4

2 回答 2

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})

我一直在使用它,它非常方便。

于 2013-07-03T13:08:59.087 回答
2

您可以date("Y-m-d H:i:s)在您的 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('".date("Y-m-d H:i:s")."' + INTERVAL T.timezone_offset SECOND)));"

您只需在 Sql Query 中添加 date("Ymd H:i:s") 函数。

于 2013-07-04T07:20:38.537 回答