在没有zoneinfo的情况下处理MySQL中的时区

时间:2010-11-10 05:52:19

标签: mysql timezone timestamp zoneinfo

似乎没有办法让MySQL在没有导入zoneinfo的情况下从时间戳返回格式化的时间。

如果我使用

SET time_zone = '-4:00'

我在11月1日下午6点创建了一个时间戳,当夏令时过去了,时区变为-5:00时,该事件将不再在正确的时间显示。

是否可以从应用程序加载时区数据?或者我是否需要将所有时间戳作为UNIX时间戳并将其转换为应用程序?如果是这样,这将阻止我正确排序没有时间的日期,而不管MySQL的时区如何。

为了澄清最后一点,我有一个日期列,当时间戳为空时,该列被转换为时间戳。它看起来像:

select my_date, my_timestamp
  from my_table
  where if(my_timestamp, my_timestamp, timestamp(my_date))

澄清评论:它存储为时间戳并转换为本地时间。可以返回跨越DST更改的多个事件。我最终在PHP中转换所有时间,这很不方便,因为它需要PHP 5.1或更高版本。

0 个答案:

没有答案