calendar.getTimeInMillis() 和 System.currentTimeMillis() 的区别

   @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)); }

calendar.getTimeInMillis() 和 System.currentTimeMillis() 的区别

两个时间是一样的。

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 方法,猜测是这种取时间更快。欢迎指正

上一篇:我的Java开发学习之旅------>System.nanoTime与System.currentTimeMillis的区别


下一篇:C\C++ 框架和库整理(转)