我正在使用一个具有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注入等),我知道已弃用的函数。感谢。
答案 0 :(得分:0)
解决了如何做到这一点。
我可以将@@session.time_zone
转换为'+00.00'
。可爱!
mysql_query("SELECT * FROM mytable WHERE CONVERT_TZ(`date`, @@session.time_zone, '+00:00') > $landingtime");