一、精确到毫秒 (ms)
//获取开始时间
long startTime = System.currentTimeMillis();
//测试的代码段
method();
//获取结束时间
long endTime = System.currentTimeMillis();
//输出程序运行时间
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
二、精确到纳秒 (ns)
//获取开始时间
long startTime=System.nanoTime();
//测试的代码段
method();
//获取结束时间
long endTime=System.nanoTime();
System.out.println("程序运行时间:"+ (endTime - startTime) + "ns");
注:
System.currentTimeMillis();
用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
;
System.nanoTime();
返回正在运行的Java虚拟机的高分辨率时间源的当前值,以纳秒为单位,nanoTime而返回的可能是任意时间,甚至可能是负数
;
System.nanoTime每个JVM维护一份,和系统时间无关,可用于计算时间间隔,比System.currentTimeMillis的精度要高。
;
修改了系统时间会对System.currentTimeMillis造成影响,而对System.nanoTime没有影响。