package com.generationjava.test;
/**
* useful when doing timings in a debug or test situation.
*/
public class stopwatch {
static public int an_hour = 60 * 60 * 1000;
static public int a_minute = 60 * 1000;
private long starttime = -1;
private long stoptime = -1;
/**
* start the stopwatch.
*/
public void start() {
this.starttime = system.currenttimemillis();
}
/**
* stop the stopwatch.
*/
public void stop() {
this.stoptime = system.currenttimemillis();
}
/**
* reset the stopwatch.
*/
public void reset() {
this.starttime = -1;
this.stoptime = -1;
}
/**
* split the time.
*/
public void split() {
this.stoptime = system.currenttimemillis();
}
/**
* remove a split.
*/
public void unsplit() {
this.stoptime = -1;
}
/**
* get the time on the stopwatch. this is either the
* time between start and latest split, between start and stop,
* or the time between the start and the moment this method is called.
*/
public long gettime() {
if(stoptime != -1) {
return (system.currenttimemillis() - this.starttime);
} else {
return this.stoptime - this.starttime;
}
}
public string tostring() {
return gettimestring();
}
/**
* get the time gap as a string.
* in hours, minutes, seconds and milliseconds.
*/
public string gettimestring() {
int hours, minutes, seconds, milliseconds;
long time = gettime();
hours = (int) (time / an_hour);
time = time - (hours * an_hour);
minutes = (int) (time / a_minute);
time = time - (minutes * a_minute);
seconds = (int) (time / 1000);
time = time - (seconds * 1000);
millis = (int) time;
return hours + "h:" + minutes + "m:" + seconds + "s:" + millis + "ms";
}
}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器