将日期转换为mysql中的数字(与日期在Excel中的转换方式相同)

时间:2015-05-22 00:17:49

标签: mysql excel date numbers

当我想将日期转换为数字时,使用的正确函数是什么。就像你在excel中输入一个日期(例如now())然后它会显示日期,但是当你点击数字格式时它会显示一个数字。

我尝试使用Unix时间戳,但它不完全是我正在寻找的输出。

我输入的日期是今天的日期 现在=()

和我希望获得的输出是

42146

在mysql中获得此结果的正确函数是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

Microsoft Excel基于1904年1月1日或1900年1月1日的日期序列号(取决于工作簿中的设置。)

生成日期"序列号"类似于Excel使用的,只需计算NOW()(或您想要转换的任何日期)与基准日期之间的天数。例如:

     SELECT DATEDIFF(NOW(),'1900-01-01') AS excel_serial_date_1900 

(您可能需要添加1或减去1才能获得与Excel完全相同的值,我还没有测试过。)如果您的Excel工作簿使用的是基于1904的序列日期,请使用 { {1}} 作为表达式中的基准日期。

注意:DATEDIFF函数返回整数天数,仅在" date"部分,并不包括一天的任何部分。

参考:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff