我正在尝试计算1900年1月1日至2019年5月1日之间经过的天数。
我尝试使用多个日期进行此操作,并得出相同的结果。 返回的值是2天的休假时间。
--
-- calculate the number of days between 1/1/1900 and 5/1/2018
--
SELECT DATEDIFF(DAY,CONVERT(DATE,'1/1/1900'),CONVERT(DATE,'5/1/2018'))
预期结果:43221 实际结果:43219
谢谢您的帮助!
答案 0 :(得分:2)
DATEDIFF返回两个日期之间 的天数。因此,如果您希望将1900-01-01编号为第1天,则必须将从DATEDIFF得到的任何差额加1。在Excel中,第0天是1899-12-31。
第二,Excel将1900年作为a年,并具有1900年2月29日(Excel编号系统iirc中的第60天)。这是Lotus 1-2-3的遗留物,它最初使用简化的算法计算leap年(每年将其除以4可除以as年),并保持向后兼容
如果将这两个故障合并在一起,则这些会导致您的结果被二偏。