目前获取毫秒值时间戳大概有下面三种方法
// 方法一 System.currentTimeMillis(); // 方法二 Calendar.getInstance().getTimeInMillis(); // 方法三 new Date().getTime();
这三种获取时间戳的方式哪种更快呢?
使用以下代码验证
import java.util.Calendar; import java.util.Date; public class TimeTest {private static long _TEN_THOUSAND=10000; public static void main(String[] args) {long times=1000*_TEN_THOUSAND; long t1=System.currentTimeMillis(); testSystem(times); long t2=System.currentTimeMillis(); System.out.println(t2-t1); testCalander(times); long t3=System.currentTimeMillis(); System.out.println(t3-t2); testDate(times); long t4=System.currentTimeMillis(); System.out.println(t4-t3); } public static void testSystem(long times){//use 188 for(int i=0;i<times;i++){long currentTime=System.currentTimeMillis(); } } public static void testCalander(long times){//use 6299 for(int i=0;i<times;i++){long currentTime=Calendar.getInstance().getTimeInMillis(); } } public static void testDate(long times){for(int i=0;i<times;i++){long currentTime=new Date().getTime(); } } }
每种时间获取方法执行一千万次,查看最后结果:
187 7032 297
结果发现 :
System.currentTimeMillis() 速度最快, 同时,这种方式也是阿里巴巴编码规约中推荐的,获取毫秒的唯一方式。
Calendar.getInstance().getTimeInMillis() 速度最慢
如果觉得《Java精确到毫秒获取时间的三种方法 以及适用场景》对你有帮助,请点赞、收藏,并留下你的观点哦!