Date日期與Calendar日期的隱藏區(qū)別
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{ //將日期轉(zhuǎn)換為指定格式輸出 ???Date?date?=?new?Date(); ???SimpleDateFormat?simpleDateFormat?=?new?SimpleDateFormat("yyyy-mm-dd?HH:MM:SS"); ???String?date1?=?simpleDateFormat.format(date); ???System.out.println(date1); ???//字符串日期轉(zhuǎn)換成日期格式輸出 ???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());??//每刷新一次時(shí)間秒數(shù)會(huì)發(fā)生對(duì)應(yīng)的改變?Date類構(gòu)建的日期的秒數(shù)不變 ???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("當(dāng)前時(shí)間:"+year?+?"-"?+?month+"-"?+?day?+"?"+?hour+":"?+?minute+":"+second); ???System.out.println(c.getTimeInMillis()); } }
控制臺(tái)打出:
2016-24-03?11:03:490 Thu?Mar?03?11:24:00?CST?2016 Thu?Mar?03?11:24:51?CST?2016 當(dāng)前時(shí)間:2016-2-3?11:24:51 1456975491505
結(jié)論 :
Calendar每刷新一次時(shí)間的秒數(shù)會(huì)發(fā)生對(duì)應(yīng)的改變 Date類構(gòu)建的日期的秒數(shù)不變
2016-03-03
Date記錄的是一個(gè)含日期的,精確到秒的時(shí)間。它的當(dāng)前時(shí)間是瞬間變化的
2016-03-03
Calendar類是一個(gè)抽象基類,主要用于完成日期字段之間相互操作的功能。Date類表示特定的瞬間