AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1524165
Accepted
SimonS
SimonS
Asked: 2020-02-11 02:35:14 +0800 CST2020-02-11 02:35:14 +0800 CST 2020-02-11 02:35:14 +0800 CST

为什么 Excel 在尝试找出自 01.01.1900 以来已经过去了多少天时,得到的结果比 PowerShell 和 Google 不同?

  • 772

一位同事告诉我:“自 1900 年 1 月 1 日以来,正好 43871 天过去了”。今天是 10.02.2020。

我想用 PowerShell 进行检查,但我得到了另一个结果:

PS C:\Windows\system32> New-TimeSpan ([datetime]"01.01.1900") (Get-Date)


Days              : 43869
Hours             : 11
Minutes           : 15
Seconds           : 46
Milliseconds      : 304

所以我很困惑,因为有 2 天的差异。所以我问全能的谷歌:

GoogleDaysPassedSearch

如您所见,谷歌还说已经过去了 43869 天,而不是 43871。

所以我问我朋友他是怎么计算的。他在 Excel 中通过将单元格格式化为dateonly. 然后当他在其中写入int时,Excel 会将其转换为日期,例如

  • 15641变成27.10.1942
  • 19874变成30.05.1954
  • 43869变成08.02.2020(?)
  • 43871变成10.02.2020(?)

Excel 是否比我们早 2 天,或者为什么它认为自 01.01.1900 以来比实际多 2 天?它缺少什么吗?

这是它的一个小 gif(不幸的是,因为我有一个德语 Excel,所以是德语):

ExcelCalculationGif

microsoft-excel date-time
  • 2 2 个回答
  • 325 Views

2 个回答

  • Voted
  1. Best Answer
    Ron Rosenfeld
    2020-02-11T16:47:35+08:002020-02-11T16:47:35+08:00

    为什么:

    首先,您的朋友和 Google 的计算方式不同。Excel(使用 1900 日期系统)只认为自 1900 年以来多出一天。

    Excel 将日期存储为序列号,其中1-Jan-1900=1 和10-Feb-2020-->43871

    所以Excel应该是43871--- 1>43870

    但是,Excel 计算不正确。

    引入 Excel 时,Lotus123 是领先的电子表格程序。

    Lotus 123 有一个错误,它认为 1900 年是闰年。

    考虑到竞争的兼容性,Excel 包含了该错误。但是,由于是一个不存在的日期,因此在减去两个日期时29-Feb-1900,其他方法将正确显示。43869

    顺便说一句,Excel VBA 也可以正确计算日期差 -->43869

    • 4
  2. PeterH
    2020-02-11T07:44:24+08:002020-02-11T07:44:24+08:00

    Microsoft Excel 支持两种不同的日期系统。这些系统是 1900 日期系统和 1904 日期系统

    1900 年日期系统

    在 1900 日期系统中,支持的第一天是 1900 年 1 月 1 日。当您输入日期时,日期将转换为一个序列号,该序列号表示从 1 开始的经过的天数,表示 1900 年 1 月 1 日。例如,如果输入 1998 年 7 月 5 日,Excel 会将日期转换为序列号 35981。默认情况下,Microsoft Excel for Windows 使用 1900 日期系统。1900 日期系统使 Excel 和其他电子表格程序(如 Lotus 1-2-3)之间的兼容性更好,这些程序设计为在 MS-DOS 或 Microsoft Windows 下运行。

    1904 年日期系统

    在 1904 日期系统中,支持的第一天是 1904 年 1 月 1 日。当您输入日期时,日期将转换为表示自 1904 年 1 月 1 日以来经过的天数的序列号,从 0 开始表示 1 月1, 1904。例如,如果输入 1998 年 7 月 5 日,Excel 会将日期转换为序列号 34519。由于早期 Macintosh 计算机的设计,不支持 1904 年 1 月 1 日之前的日期。这种设计旨在防止与 1900 年不是闰年有关的问题。过去,Macintosh 的 Excel 默认使用 1904 日期系统来处理源自 Macintosh 的工作簿。但是,Excel for Macintosh 现在默认使用 1900 日期系统,并支持早在 1900 年 1 月 1 日的日期。

    日期系统之间的区别

    由于两种日期系统使用不同的起始日期,相同的日期在每个日期系统中由不同的序列号表示。例如,1998 年 7 月 5 日可以有两个不同的序列号,如下所示。

    Date system          Serial number of July 5, 1998
    1900 date system     35981
    1904 date system     34519
    

    来源: https ://docs.microsoft.com/en-us/office/troubleshoot/excel/1900-and-1904-date-system

    • 2

相关问题

  • 带有“和”运算符的 Excel 数据透视表

  • 如何对整列使用 Excel 的 LENGTH 函数?

  • Excel 数组(2 个变量)

  • 如何从 WSL 打开 office 文件

  • VBA根据文件名重命名工作表

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve