Excel 日期格局与数字格局转化的BUGITeyemingxing - 牛牛娱乐

Excel 日期格局与数字格局转化的BUGITeyemingxing

2019-02-01 11:00:58 | 作者: 寻桃 | 标签: 格局,数字,时刻 | 浏览: 3670

Excel 2003 中的单元格局能够有多种, 如下图:


 

其间日期/时刻能够与数字进行互转, 但条件是这些日期/时刻有必要是Excel能辨认的格局, 例如: 输入2009-12-24 , 转换为数字是:40171

输入2009-12-24 10:10:10, 转换为数字是40171., 官方说法其日期是以1900年1月1日为开始日, 时刻以午夜零时为开始时刻.

 


MS SQL Server 2005 的datetime类型的日期时刻也是以1900年1月1日零时作为开始点, 我想, 当咱们以这个数值(40171.4237268519)刺进MS SQL Server 2005 字段为datetime 类型的表时, 发生的日期应该是: 2009-12-24 10:10:10 ,

 

但很可惜, 实际上得到的却是:

 


 

比预期的多出了两天!!! 为什么?

同是微软的东西, 莫非算法还会不一致?

 

本来这儿面有一个很荫蔽的BUG(不知道是不是BUG):

 

先在Excel的某个单元格上设置格局为日期格局, 然后输入0, 回车! 结果是1900-1-0 , 晕了本来Excel的参阅开始日期并不是官方说的1900-1-1 , 而是1900-1-0 , 这样算出来的日期就比方SQL Server算出来的多出了一天!

 

再次在单元格上输入60 , 然后回车, 结果是1900-2-29 ! 微软真能搞, 1900年并不是润年(真实的判别法则是:能被4或400整除,但不能被100整除的年份为闰年), 所以这儿又多出了一天!

 

所以Excel算出来的日期数值与SQL Server算出来的日期数值相差2 天!

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表牛牛娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章