【发布时间】:2011-05-06 23:11:11
【问题描述】:
我们一直致力于为我们的 Web 应用实现时区支持。
这篇很棒的 SO 帖子帮助了我们很多:Daylight saving time and time zone best practices
我们已经在 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(不确定这对于休息时间如何工作)。
感谢您的帮助!
【问题讨论】:
-
我从缺乏回应中猜测,要么我问了一个愚蠢的简单问题,要么这是处理时间或时区日期的可接受方式?
标签: mysql date time timezone convert-tz