Mysql Timzone仅在日期和时间转换-是否有必要?

Mysql Timzone仅在日期和时间转换-是否有必要?,mysql,date,time,timezone,convert-tz,Mysql,Date,Time,Timezone,Convert Tz,我们一直在为我们的Web应用程序实现时区支持 这篇很棒的SO帖子帮了我们很多忙: 我们已经在MYSQL中实现了OLSON TZ数据库,并将其用于TZ转换 我们正在构建一个日程安排应用程序,以便: 我们将在UTC时间的特定日期和特定时间发生的所有预订存储在DateTime字段中,并使用CONVERT_TZ()进行转换。这很有效 我们不太确定的是假期和休息: 假期只是日期参考,不包括时间部分。因为CONVERT_TZ()对日期对象不起作用,所以我们猜测最好只根据用户的时区存储日期值 id1 id3

我们一直在为我们的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(不确定这对于休息时间是如何工作的)


谢谢你的帮助

我对你的问题理解不够透彻,不能说我的答案对你100%正确。但我认为你需要做的是将日期时间存储在“本地”时间中,同时也存储时区。这样,即使夏令时发生了变化(这种情况也会发生),您也能正确使用它


这篇文章写得很好(是我写的)。

我不太理解你的问题,不能说我的答案对你100%正确。但我认为你需要做的是将日期时间存储在“本地”时间中,同时也存储时区。这样,即使夏令时发生了变化(这种情况也会发生),您也能正确使用它


这篇文章写得不错(是我写的)。

这两种存储格式看起来不错。从表中取出它们时,只需将它们转换为用户的本地时间


实际上,对于breaks表,我假定它们名义上已经在本地时间,所以您只需直接与约会的本地时间进行比较。

这两种存储格式看起来不错。从表中取出它们时,只需将它们转换为用户的本地时间


事实上,对于breaks表,我想它们名义上已经在当地时间了,因此,你只需直接与约会的当地时间进行比较。

我从没有回应的情况下猜测,要么我问了一个非常简单的问题,要么这是一种可以接受的处理时区中的时间或日期的方式?我从没有回应的情况下猜测,要么我问了一个非常简单的问题,要么这是一个错误可接受的处理时区中的时间或日期的方式?嗨,谢谢你的帖子。我有点困惑,因为你们建议用偏移量保存在本地,这和我读过的大多数其他文章不符。根据我的理解,通过在MYSQL中使用Olson db,在UTC中保存,并在检索时使用TZ_CONVERT,我们解决了DST开始/结束日期的任何更改问题:,,是的,我知道每个人都说使用UTC和CONVERT。另一方面,我也不断看到一些软件的故事,包括Outlook和iPhone,在DST改变时出现问题。我们从来没有遇到过这个问题。嗨,谢谢你的帖子。我有点困惑,因为你们建议用偏移量保存在本地,这和我读过的大多数其他文章不符。根据我的理解,通过在MYSQL中使用Olson db,在UTC中保存,并在检索时使用TZ_CONVERT,我们解决了DST开始/结束日期的任何更改问题:,,是的,我知道每个人都说使用UTC和CONVERT。另一方面,我也不断看到一些软件的故事,包括Outlook和iPhone,在DST改变时出现问题。我们从来没有遇到过这种方法的问题。谢谢,我想我们将在本地时间保存中断,并将其与使用TZ_CONVERT和用户时区从MYSQL检索的(转换的)本地时间进行比较。谢谢,我想我们将在本地时间保存中断,并将其与(转换的)本地时间进行比较使用TZ_CONVERT和用户时区从MYSQL检索本地时间。