将日期转换为 mysql 中的数字(就像日期在 Excel 中的转换方式)

Convert Date to a number in mysql (Like how a date converts in Excel)

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

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

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

我希望得到的输出是

42146

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

谢谢

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

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

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

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

注意:DATEDIFF 函数 returns 整数天数,仅对 "date" 部分进行运算,不包括一天的任何小数部分。

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