Sim*_*onS 5 date-time microsoft-excel
一位同事告诉我:“自 1900 年 1 月 1 日以来,已经过去了 43871 天”。今天是 2020 年 2 月 10 日。
我想用 PowerShell 检查一下,但得到了另一个结果:
PS C:\Windows\system32> New-TimeSpan ([datetime]"01.01.1900") (Get-Date)
Days : 43869
Hours : 11
Minutes : 15
Seconds : 46
Milliseconds : 304
Run Code Online (Sandbox Code Playgroud)
所以我很困惑,因为有两天的差异。于是我向谷歌大神请教:
正如你所看到的,谷歌还说已经过去了 43869 天,而不是 43871 天。
于是我就问我的朋友他是怎么算的。他在 Excel 中通过将单元格格式设置为dateonly. 当他int在其中写入 an 时,Excel 会将其转换为日期,例如
15641变成27.10.194219874变成30.05.195443869变成08.02.2020(?)43871变成10.02.2020(?)Excel 是否比我们早 2 天,或者为什么它认为自 1900 年 1 月 1 日以来比实际时间多了 2 天?是不是少了什么东西?
这是它的一个小 gif(不幸的是,因为我有德语 Excel,所以是德语):
原因:
首先,你的朋友和谷歌的计算方式不同。Excel(使用 1900 日期系统)仅认为自 1900 年以来多了一天。
Excel 将日期存储为序列号,其中1-Jan-1900= 1
And 10-Feb-2020-->43871
所以Excel以来的天数43871应该是- 1-->43870
但是,Excel 计算不正确。
当 Excel 推出时,Lotus123 是领先的电子表格程序。
Lotus 123 有一个错误,它认为 1900 年是闰年。
鉴于竞争,出于兼容性考虑,Excel 包含了该错误。但是,由于是一个不存在的日期,因此在减去两个日期时29-Feb-1900,其他方法将正确显示。43869
顺便说一下,Excel VBA 也能正确计算日期差 -->43869
| 归档时间: |
|
| 查看次数: |
569 次 |
| 最近记录: |