先声明,别一看标题就鄙视我。我也会用System.currentTimeMills();
只是我现在要获取的程序运行时间有一个特定的环境。我的程序要修改系统时间。System.currentTimeMills()这个方法本来就是获取当前系统时间的毫秒数的,所以就有错了。各位看明白的想下看还有什么方法可以实现咯。本人也仔细想想。
PS。每天回帖可得10分可用分,大家积极回帖啊(but,要跟标题相关的)
只是我现在要获取的程序运行时间有一个特定的环境。我的程序要修改系统时间。System.currentTimeMills()这个方法本来就是获取当前系统时间的毫秒数的,所以就有错了。各位看明白的想下看还有什么方法可以实现咯。本人也仔细想想。
PS。每天回帖可得10分可用分,大家积极回帖啊(but,要跟标题相关的)
设置一些变量,时分秒各一个……
然后每Thread.sleep(1000),秒就+1
秒到60了就归零,分就+1……是不是很臭的方法……
你自己要改时间,只能这样了吧,总不能从http:连接到标准校时服务器去取时间吧。而且不一定能连上网,如果你修改时间不频繁,应该是一楼的方法最好,比建立线程计时到准确。
long t = l;
boolean b = true;
while(b){
t++;
}想看时间的时候吧t返回回去减轻l就是耗时
// ... the code being measured ...
long estimatedTime = System.nanoTime() - startTime;
高宏伟
QQ 21807822
这个时间的begin和end根本就不在同一个Java类实例中(难点所在)
2.修改时间到9:00.
记录当前时间 t2
3.运行c程序
4.c程序运行完成
记录当前时间 t3 //则c程序运行时间为 t3-t2
5.修改系统时间到 t1+(t3-t2)
如果你线程里不休眠,空转导致cpu浪费,也影响别的线程和进程的运行
如果使用休眠,而休眠又有不确定性,且依赖java的时间函数
如果不依赖系统时间,无法保证休眠时间的准确性比如你 sleep(2000),中间被中断了,实际可能只休眠了1秒,那计时器不是就不准确了?