将excel中的十进制序列号正确转换为mysql

我有一个列的Excel CSV与这样的值

42973.74257

我想通过使用以下命令将其转换为MySQLdate时间:

DATE_ADD('1900-01-01',INTERVAL(42973.74257 * 60 * 60 * 24)秒)

但是,这会给我一个不正确的结果

2017-08-28 17:49:18.048000

而正确的结果应该是

8/26/2017 5:49:18 PM

它再添加2天的结果。 正如我有大约1M行,所以我不知道是否所有的结果是不正确的。

你们有没有更好的办法将序列号从excel转换成mysql?

谢谢,

H

你的回答是两天错误的。

其中之一是因为它实际上把1900年1月1日当作1而不是0( ref )。

根据这个博客文章 ,这是closures的另一天,因为Excel不正确地把1900年作为一个闰年出于兼容性的原因。

如果在将值传递给公式之前从值中减去2,它应该可以工作。