MySQL没有时区表 - 需要将欧洲/伦敦与UTC进行比较

时间:2016-10-18 10:49:33

标签: php mysql

我正在使用一个具有DATETIME类型字段的表,该字段在设置PHP日期时间默认时区后会更新:

date_default_timezone_set("Europe/London");
$date=date("Y-m-d H:i:s");

mysql_query("UPDATE mytable SET status='$status', statusupdated='$date' WHERE id='$id'");

我需要创建一个查询,在某个($ landing)时间(UTC)之后获取所有结果:

mysql_query("SELECT * FROM mytable WHERE CONVERT_TZ(`statusupdated`, 'GMT', 'UTC') > $landingtime");

然而,数据库没有任何时区表,因此上述方法无效。

如何标准化查询以便将statusupdated与UTC进行比较?

注意:

我无法编辑数据库数据类型,因为这是一个外部数据库。感谢

为了简化问题,我简化了代码(我知道SQL注入等),我知道已弃用的函数。感谢。

1 个答案:

答案 0 :(得分:0)

解决了如何做到这一点。

我可以将@@session.time_zone转换为'+00.00'。可爱!

mysql_query("SELECT * FROM mytable WHERE CONVERT_TZ(`date`, @@session.time_zone, '+00:00') > $landingtime");