当前位置: 代码迷 >> 综合 >> JS读取Excel时日期转换问题:1900-2-29问题
  详细解决方案

JS读取Excel时日期转换问题:1900-2-29问题

热度:68   发布时间:2023-11-06 05:53:59.0

这个bug是从最初Excel起步时就存在的。

1、Excel的日期,是数值的一种特殊格式,比如:单元格输入2017-6-30,设置为常规格式后变为:42916,表示从1900-1-1算起的第42916天的日期。

2、1900年不是闰年,但由于早期存在的这个错误,Excel日期里存在1900-2-29这个日期,其数值为60(第60天),其后面的日期都正确。也就是说,Excel的日期计算等等都基于这么一个错误的基础上,如果要修正这个bug,会导致所有用户都出现问题。为此,Excel里面有一个选项【使用1904日期系统】,勾选这个选项后,数值60对应的是1904-3-1这一天,而不是1900-2-29这个不存在的日期。

3、事实上,绝大多数的用户很少有机会去使用1900年的日期,因而与修正这个bug可能引起的后果相比,保留bug的后果反而小得多。

参考:Excel 认为1900年是闰年的bug - Microsoft Community

  相关解决方案