在Mysql数据库中保留时区信息

时间:2014-02-22 04:33:49

标签: java mysql time

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

1 个答案:

答案 0 :(得分:0)

正如您所述,您应该以“Asia / Kolkata”,“America / Los_Angeles”等形式将时区存储为数据库中的VARCHAR。这明显优于存储任何类型的UTC偏移量,因为该偏移量由于夏令时,可以变化。

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