spring_lee 发表于 2010-1-5 09:13

关于datenum 函数的一点疑问

datenum在进行闰年的2月29日计算的时候,目前的年份是正常的,但是,如果年份过大或者过小,就有问题了。
如: datenum(2000,2,29)=730545;datenum(2000,3,1)=730546
但是, datenum(2100,2,29)的值和datenum(2100,3,1)的值是一样的,都是767070,同样,如果年份太早,也会出现这个问题的。

我的计算机能够显示的最大时间是2099年,最小时间是1980年,我看了下,上限和这个年份有关,但是下限没关系。。
这是为什么呢。。因为要写一个关于时间的程序,请高手指点一下。如何解决这个问题。。谢谢。。。。

[ 本帖最后由 ChaChing 于 2010-1-5 18:06 编辑 ]

maigicku 发表于 2010-1-5 10:47

LZ犯了个错误,闰年的计算问题,2100年不是闰年,2月没有29天。。

ChaChing 发表于 2010-1-5 13:45

楼上说的是!
help中有如下说明
...Values outside the normal range of each array are automatically carried to the next unit ...
但个人以为好像应该有个warning比较好!

spring_lee 发表于 2010-1-6 09:01

哦。谢谢两位。是我对闰年的概念不清楚。
刚才才知道,“四年一闰,百年不闰,四百年再闰.”。。。白活了这么长时间了,这个常识居然忽略了,丢人了。。
再次感谢
页: [1]
查看完整版本: 关于datenum 函数的一点疑问