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