【问题标题】:Persist time zone info in Mysql database在 Mysql 数据库中保留时区信息
【发布时间】:2014-03-23 20:52:34
【问题描述】:

考虑一个餐桌商店,对于每个商店,我需要根据商店所在的国家/地区保留时区。将时区存储为 VARCHAR 是否很好(例如:值 = 亚洲/加尔各答)?或者是否有任何其他选项可用于存储时区信息?

【问题讨论】:

  • 阅读this 答案(所有其他的也很有用)。按照它的建议,我会存储名称、时间戳和偏移量。对于名称VARCHAR 很好。您也可以花哨并使用非常大的ENUM

标签: java mysql time


【解决方案1】:

正如您所说,您应该在数据库中以“Asia/Kolkata”、“America/Los_Angeles”等形式将时区存储为 VARCHAR。这比从 UTC 存储任何类型的偏移量要好得多,因为该偏移量由于夏令时,可以是可变的。

另一个好的做法是将数据库中的所有时间都存储为 UTC。这样做可以让您轻松比较不同时区的商店之间的时间——这在汇总报告或汇总数据时特别有用。用户界面(或视图层)应负责将所有 UTC 时间转换为商店的本地时区。

【讨论】:

    猜你喜欢
    • 2013-06-08
    • 2013-09-27
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2011-07-01
    相关资源
    最近更新 更多