【问题标题】: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。如何计算时间?

标签: excel date number-formatting


【解决方案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 将执行此操作:

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 2017-07-13
    • 1970-01-01
    • 2012-12-04
    • 2012-08-24
    相关资源
    最近更新 更多