java API的bug javq.util.Date类的getTime()方法获取当前时间的毫秒数当涉及到闰年时,有错误
2011-06-07 14:13
656 查看
虽然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年当做闰年来处理了
闰年定义:四年一闰;百年不闰,四百年再闰
下面是对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年当做闰年来处理了
闰年定义:四年一闰;百年不闰,四百年再闰
相关文章推荐
- php获取当前时间的毫秒数的方法
- php获取当前时间的毫秒数的方法
- oracle获取当前时间,精确到毫秒并指定精确位数的实现方法
- asp.net获取系统当前时间的方法详解
- JS获取当前时间戳的方法-JavaScript 获取当前时间戳
- Ubuntu 下用python 获取当前时间 的方法
- System.currentTimeMillis,getTimeInMillis与new Date().getTime获取当前时间戳耗时比较
- PHP获取当前时间的毫秒数(yyyyMMddHHmmssSSS)
- System.currentTimeMillis,getTimeInMillis与new Date().getTime获取当前时间戳耗时比较
- java获取当前时间戳的方法
- 如何获取精确到毫秒的当前时间以及 日期与时间的相互转化
- Java获取当前时间的年月日方法
- Java获取当前时间的年月日方法
- MFC获取系统当前时间的几种方法
- 获取系统当前时间的方法
- java获取当前时间戳的方法
- java如何获取当前时间的方法汇总
- JavaScript 遗漏知识再整理;错误处理,类型转换以及获取当前时间、年份、月份、日期;
- java中获取当前系统时间的方法
- PHP获取当前日期和时间及格式化方法参数