@Test public void test01(){ Calendar calendar=Calendar.getInstance(); // calendar.set(2019,06,04,16,42,50); long date1=calendar.getTimeInMillis(); long date2=System.currentTimeMillis(); Date turnDate1=new Date(date1); Date turnDate2=new Date(date2); SimpleDateFormat fm=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(fm.format(turnDate1)); System.out.println(fm.format(turnDate2)); }
兩個時間是同樣的。性能
2.性能比較測試
/** * 各循環十萬次獲取時間戳 */ @Test public void test03(){ Calendar calendar=Calendar.getInstance(); long startTime=System.currentTimeMillis(); for(long i=0;i<100000;i++){ long date1=calendar.getTimeInMillis(); } System.out.println("calender花費的時間:"+(System.currentTimeMillis()-startTime)); long startTime2=System.currentTimeMillis(); for(long i=0;i<100000;i++){ long date2=System.currentTimeMillis(); } System.out.println("calender花費的時間:"+(System.currentTimeMillis()-startTime2)); }
本機測試發現值不穩定。查看源碼System.currentTimeMillis 使用的nativae 方法,猜想是這種取時間更快。歡迎指正spa