2011-09-28 45 views
6

这将是在MySQL中存储时区偏移的正确数据类型/结构吗?我只想存储数值(城市和国家显然存储在其他列中)。在MySQL中存储时区偏移的数据类型/结构

例子:

  • -5:00瓜亚基尔,ECU
  • -4:30加拉加斯,VEN
  • 0:00一些城市
  • 2:00波恩,GER
+4

如果您只存储“数字值”,那么实际上并未存储时区,而只是存储时区偏移量。有一个很大的区别,特别是如果你正在处理未来的日期,由于政治原因,抵消可能会随时改变。 – nogridbag

回答

5

您应该使用TIME。这是该任务的正确数据类型:您有格式化并且可以使用calculations。此外,根据文档,TIME也应该作为两个时刻之间差异的结果使用,这是时区实际上是什么。

从文档:

MySQL的检索并在显示TIME值 'HH:MM:SS' 格式(或 'HHH:MM:SS' 的大小时的值格式)。 TIME值的范围可以从 '-838:59:59'到'838:59:59'。小时部分可能非常大,因为 时间类型不仅可用于表示一天中的某个时间(其中 必须小于24小时),还可用于两个事件之间的已用时间或时间间隔 (可能是远远大于24小时,甚至不利于)。