在软件开发过程中经常需要知道程序运行的大概时间,或者需要在规定时间内取数据,这是可以使用下面的方法获取时间段,还可以用在限时循环
方法一:
1
2
3
4
5
6
7
|
/** 获取当前系统时间*/
long startTime = System.currentTimeMillis();
/** 程序运行 processRun();*/
/** 获取当前的系统时间,与初始时间相减就是程序运行的毫秒数,除以1000就是秒数*/
long endTime = System.currentTimeMillis();
long usedTime = (endTime-startTime)/ 1000 ;
|
方法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//初始化变量
Date before= new Date();
Date now= new Date();
//定时循环
while (t<= 10 //循环时间){
// 计算循环总时长
now = new Date();
// 现在的时间减去开始的时间可以计算出来使用的时间
t = (now.getTime() - before.getTime())/ 1000 ;
//循环内容
}
|
我们一般的java运输计时代码是
1
2
3
4
|
long begintime = System.currentTimeMillis();
//运算代码
long endtinme=System.currentTimeMillis();
long costTime = (endtime - begintime);
|
但是,如果运算时间很短的时候,这个一个是现在机器太厉害,还有由于.currentTimeMillis()是1970年1月1日到现在的毫秒数,估计应该把很多小数位省略了,没看过代码,猜的,呵呵。结果一般是0,无法显示算法消耗时间,这个时候可以用nanoTime(),纳秒。
1
2
3
4
5
|
long begintime = System.nanoTime();
//运算代码
long endtime = System.nanoTime();
long costTime = (endtime - begintime)/ 1000 ;
//要换算为微秒,就除上1000,就可以
|
以上这篇Java简单计时的实现案例(可以用来限时循环)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/ZenoLiang/p/11014251.html