转换为unix时间戳并再次返回会导致MySQL丢失1天

时间:2013-02-13 16:56:11

标签: mysql

我在将日期导入MySQL时遇到了问题。我把它归结为......

select from_unixtime(unix_timestamp(str_to_date('201201', '%Y%m')))

它报告......

2011-12-31 00:00:00

要让它返回原始日期,是否需要使用MYSQL进行设置,或者我只是在一天之内添加它并添加?

我在GMT时区。

搜索返回了一些关于此问题的非常老的错误,其他帖子说这是应该如何发生的,但我不明白你应该怎么做呢

2 个答案:

答案 0 :(得分:0)

当我运行它时,SELECT STR_TO_DATE('201201', '%Y%m')会返回无效日期2012-01-00(1月0日?!),所以我对通过UNIX_TIMESTAMP()和{{进行的往返过程并不感到惊讶1}}最终搞砸了。尝试添加一天,使其成为真正的日期(FROM_UNIXTIME())。

答案 1 :(得分:0)

在5.5.21(OS X)上,我得到2012-01-01 00:00:00。 尝试升级您的服务器。