0

我想将一些逻辑从我的 php 代码移动到我的 mysql 查询中,这些查询涉及进行时间和日期计算,这些计算需要始终参考 UTC。

在我的函数中使用的 phpini_set('date.timezone', 'UTC');中包括以保证一致性。

由于我可能无法始终控制系统时区,因此我设置了每个连接的时区,SET time_zone = 'UTC';这将确保在 MySQL 查询中使用派生日期的任何地方都是 UTC。

但是,我从文档TJ Crowder对类似问题的出色回答中不清楚的是,这是否对

ADDDATE() ADDTIME() or DATE_ADD()

即根据会话时区执行这些计入夏令时,或者无论如何执行这些计入夏令时。

CONVERT_TZ(dt,from_tz,to_tz)如果是后者 - 是否可以使用我们从 MySQL 系统表中派生 from_tz 的位置来 CAST 说 ADDTIME() 计算的结果。

注意: - 我们知道@@global.time_zone, @@session.time_zone return 'SYSTEM'在没有设置时区的情况下,因此不能在转换中使用。

4

0 回答 0