php&;mysql记录个人时区
我有一个小问题,但很棘手: 我有一个有很多记录的数据库,每条记录都有两个带有mysql时间戳的字段,如下所示: 2012-02-14 11:09:59 由于每一行都有各自的时区(我将时区保存为字符串,如“Europe/Berlin”,也将其保存为浮动字段中的偏移量,如+1),因此我有一个小问题: 我想查询数据库中比现在更新或旧的记录- 我可以将日期转换为GMT,并使用服务器tmz偏移量搜索它们。 简单,Buuuttt,问题是,我想有可能搜索在某个本地时间发生的记录,例如: 我想在全世界寻找明天22:00发生的事情。 现在,如果我把所有的时间戳转换成GMT,我就不能这样做,因为在where条件下,22:00不是本地时间,而是GMT时间。。。 有没有办法在一个查询中组合时间戳和tmz字段php&;mysql记录个人时区,php,mysql,timezone,Php,Mysql,Timezone,我有一个小问题,但很棘手: 我有一个有很多记录的数据库,每条记录都有两个带有mysql时间戳的字段,如下所示: 2012-02-14 11:09:59 由于每一行都有各自的时区(我将时区保存为字符串,如“Europe/Berlin”,也将其保存为浮动字段中的偏移量,如+1),因此我有一个小问题: 我想查询数据库中比现在更新或旧的记录- 我可以将日期转换为GMT,并使用服务器tmz偏移量搜索它们。 简单,Buuuttt,问题是,我想有可能搜索在某个本地时间发生的记录,例如: 我想在全世界寻找明天2
提前谢谢你 我认为理想的解决方案是
- 以UTC存储所有时间,并在输出日期时进行偏移计算
- 或者使用第二个单独的列显示UTC日期
DATE\u ADD()
计算正确的偏移量:
SELECT DATE_ADD(event_time, INTERVAL event_time_offset HOUR)
现在,如果我将所有时间戳转换为GMT,我就不能这样做了
为什么不呢?使用两个不同字段的解决方案似乎是最好的,尤其是在性能方面。。。再次感谢!!=)