Date日期與Calendar日期的隱藏區別
package?com.abstracted.demo; import?java.text.ParseException; import?java.text.SimpleDateFormat; import?java.util.Calendar; import?java.util.Date; public?class?Datetest?{ public?static?void?main(String?[]args)?throws?ParseException{ //將日期轉換為指定格式輸出 ???Date?date?=?new?Date(); ???SimpleDateFormat?simpleDateFormat?=?new?SimpleDateFormat("yyyy-mm-dd?HH:MM:SS"); ???String?date1?=?simpleDateFormat.format(date); ???System.out.println(date1); ???//字符串日期轉換成日期格式輸出 ???SimpleDateFormat?simpleDateFormat1?=?new?SimpleDateFormat("yyyy-mm-dd?HH:MM:SS");? ???Date?date2?=simpleDateFormat1.parse(date1); ???System.out.println(date2); ??? ??? ??? ???Calendar??c?=?Calendar.getInstance(); ???System.out.println(c.getTime());??//每刷新一次時間秒數會發生對應的改變?Date類構建的日期的秒數不變 ???int?year?=?c.get(Calendar.YEAR); ???int?month?=?c.get(Calendar.MONTH); ???int?day?=?c.get(Calendar.DAY_OF_MONTH); ???int?hour?=?c.get(Calendar.HOUR); ???int?minute?=?c.get(Calendar.MINUTE); ???int?second?=?c.get(Calendar.SECOND); ???System.out.println("當前時間:"+year?+?"-"?+?month+"-"?+?day?+"?"+?hour+":"?+?minute+":"+second); ???System.out.println(c.getTimeInMillis()); } }
控制臺打出:
2016-24-03?11:03:490 Thu?Mar?03?11:24:00?CST?2016 Thu?Mar?03?11:24:51?CST?2016 當前時間:2016-2-3?11:24:51 1456975491505
結論 :
Calendar每刷新一次時間的秒數會發生對應的改變 Date類構建的日期的秒數不變
2016-03-03
Date記錄的是一個含日期的,精確到秒的時間。它的當前時間是瞬間變化的
2016-03-03
Calendar類是一個抽象基類,主要用于完成日期字段之間相互操作的功能。Date類表示特定的瞬間