Chinaunix首页 | 论坛 | 博客
  • 博客访问: 193692
  • 博文数量: 124
  • 博客积分: 2111
  • 博客等级: 大尉
  • 技术积分: 1505
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-18 13:40
文章分类

全部博文(124)

文章存档

2011年(5)

2010年(3)

2009年(1)

2008年(115)

我的朋友
最近访客

分类:

2008-02-26 09:33:40

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";

}

}
阅读(642) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~