时间Date和Calendar中获取时间的不同部分可以方法不同,但是有时获取的时间部分也不一样,所以建议采用Calendar获取时间。
遇有Date中获取年份等方法过期,已经废除,所以必须转换Calendar。
简单转换:
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
System.out.println("Calenarder Year =" + calendar.get(Calendar.YEAR)
+ " Date Year =" + date.getYear());
System.out.println(" Calenarder Month=" + calendar.get(Calendar.MONTH)
+ " Date Month=" + date.getMonth());
System.out.println(" Calendar date=" + calendar.get(Calendar.DATE)
+ " Date date" + date.getDate());
System.out.println(" Calendar millisecond="
+ calendar.get(Calendar.MILLISECOND) + " Date millisecond"
+ date.getTime());
打印结果如下:
Calenarder Year =2009 Date Year =109
Calenarder Month=10 Date Month=10
Calendar date=15 Date date15
Calendar millisecond=736 Date millisecond1258275031736
可以看出Calenar 和Date获取年份明显不一样:
其中通过Calendar获取的时间比通过Date获取时间大1900年,所以为了统一期间最好使用Calendar对象获取时间。
如果要获取毫秒数也不一样,必须注意的几个数字:1900,1970等时间区分各种时间的使用起至点。不然很容易出错的!!