【问题标题】:storing timezone information in mysql database [duplicate]在mysql数据库中存储时区信息[重复]
【发布时间】:2013-06-08 08:55:45
【问题描述】:

在 mysql 数据库中存储有关时区信息的最佳方式是什么?我没有关于时间的任何信息,只有时区,例如: +02.00、-03.00 等 你认为 varchar(6) 会正确吗?

【问题讨论】:

  • 谢谢,我会读这个。很抱歉我没有早点找到它。
  • 您没有时区。您有一个时区偏移。偏移量通常在孤立时没有用。请阅读timezone tag wiki 中的“时区!= 偏移量”。

标签: mysql database timezone


【解决方案1】:

VARCHAR(6) 很好,但就我个人而言,我会使用签名的SMALLINT 存储偏移量(以分钟为单位)。

这样,您可以存储从-3276832767 的号码。

如果您只想存储小时偏移量,也可以将其存储为 TINYINT。 (从-128127

【讨论】:

    【解决方案2】:

    这一切都取决于你,但Varchar 适合你。

    decimal(2,2)
    

    也适用于存储时区。 对于其他与日期相关的数据类型如下

    数据类型

    1-time

    2-timestamp

    3-date

    4-datetime

    【讨论】:

    • 十进制不是最佳的,因为它允许您存储例如2.9,您不会将其视为时间偏移。
    • 它允许您像明智的那样存储示例值 (2.90)
    • 我知道,但不应该。它会破坏合同。
    • 它是如何违约的?
    • @steve 这取决于你,处理这些问题不是 mysql 的责任,我只是建议他存储时区类型的值。
    猜你喜欢
    • 2012-11-23
    • 2014-03-23
    • 1970-01-01
    • 2015-04-26
    • 2012-07-18
    • 2010-12-05
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多