我们一直致力于为我们的 Web 应用程序实现时区支持。
这篇很棒的 SO 帖子帮助了我们很多: 夏令时和时区最佳实践
我们已经在 MYSQL 中实现了 OLSON TZ 数据库,并将其用于 TZ 转换。
我们正在构建一个调度应用程序,以便:
我们将在 UTC 时间的特定日期和特定时间发生的所有预订存储在 DateTime 字段中,并使用CONVERT_TZ()
. 这很好用。
我们不太确定的是假期和休息之类的东西:
假期只是日期参考,不包括时间部分。因为CONVERT_TZ()
不适用于日期对象,我们猜测我们最好只根据用户的时区存储日期值?
id1 id3 startDate endDate
-----------------------------
3 6 2010-12-25 2011-01-03
4 3 2010-09-22 2010-09-26
一周中的每一天存储期间的重复中断也是如此。我们目前为一周中的每一天存储他们的休息时间,索引为 0-6。因为这些只是时间对象,我们不能使用 CONVERT_TZ() 并假设我们应该将它们作为时间值存储在用户的时区中?
bID sID dayID startTime endTime
--------------------------------
1 4 1 12:00:00 14:00:00
2 4 4 13:30:00 13:30:00
在这种情况下,对于假期和休息,我们只会在预订时间转换为用户的本地时间之后将它们与预订时间进行比较。
这是处理事情的正确方法,还是我们应该以其他方式存储假期和休息时间,以便我们可以将它们转换为 UTC(不确定这对于休息时间如何工作)。
感谢你的协助!