将日期转换为数字的公式[关闭]

Posted

技术标签:

【中文标题】将日期转换为数字的公式[关闭]【英文标题】:Formula to convert date to number [closed] 【发布时间】:2013-11-12 08:07:09 【问题描述】:

我想知道将 2013 年 10 月 26 日的日期转换为 Excel 中的 41573 数字的公式。

就像如何将 10/26/2013 转换为 41573。

【问题讨论】:

自 1900 年 1 月 1 日以来的天数。Excel 中使用的函数是DATEVALUE。它将返回天数和小数天数(因此 2013 年 10 月 26 日中午将是 41573.5)。 我的问题有点不同;我在 excel 中有一个 datetime 值,当我将其转换为文本时,它返回 42278.0034722。如何计算时间? 【参考方案1】:

现代日期的 Excel 数字最容易计算为自公历 1899 年 12 月 30 日以来的天数。

Excel 将 01/00/1900(即 12/31/1899)视为对应于 0,并将 1900 年错误地视为闰年。因此,对于 1900 年 3 月 1 日之前的日期,Excel 数字实际上是 1899 年 12 月 31 日之后的天数。

但是,Excel 不会格式化任何低于 0 的数字(-1 给你##########),所以这只对“01/00/1900”到 02/28/1900 很重要,使得以 1899 年 12 月 30 日为基准更容易。

解决闰年 1900 错误的 DB2 SQL 中的完整函数:

SELECT
   DAYS(INPUT_DATE)                 
   - DAYS(DATE('1899-12-30'))
   - CASE                       
        WHEN INPUT_DATE < DATE('1900-03-01')  
           THEN 1               
           ELSE 0               
     END

【讨论】:

Coyne - 我刚刚花了一个小时试图理清两天的偏移量。非常感谢您的解释!干得好。 感谢清晰的解释!如果其他人需要它来将 Excel 时间转换为 UTC 时间(在 javascript 中读取为 CSV),我已经解释了它in a gist。【参考方案2】:

如果您将单元格的格式更改为常规,那么这将在后台显示单元格的日期值 Excel 将日期保存为自 1900 年 1 月 1 日以来的天数

如果您的日期是文本并且您需要对其进行转换,那么DATEVALUE 将执行此操作:

【讨论】:

以上是关于将日期转换为数字的公式[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

怎么把日期变为数字格式

将excel十进制数字转换为日期

如何将excel中的三列数值转换成一列日期

如何将UTC秒数转换为日期,100分,在线等

将一列日期数字转换为缩写月份

在 Dart (Flutter) 中将日期时间转换为 C# timetick [关闭]