java API的bug javq.util.Date类的getTime()方法获取当前时间的毫秒数当涉及到闰年时,有错误

来源:互联网 发布:淘宝专业版可以全屏吗 编辑:程序博客网 时间:2024/05/01 18:51

虽然javq.util.Date.getTime()方法已经被弃用,但该方法扔可能被调用到,希望以后慎用该方法

下面是对public long getTime() 的详细分析:

1,返回long类型,API解释:返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数(错误

其实是返回公用元年的毫秒数。

如果真是返回1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数,那么通过 new Date(1970,0,1).getTime()得到的数值应该是0。

2,闰年处理的问题,当时间是2000年3月1日时,getTime()返回的毫秒数比实际少一天(可通过调整本机时间,与System.currentTimeMillis()比较),应该是没有把2000年当做闰年来处理,而当时间是2100年3月1日,getTime()返回的毫秒数与System.currentTimeMillis()相等,说明java将2100年当做闰年来处理了

闰年定义:四年一闰;百年不闰,四百年再闰

原创粉丝点击