使用StopWatch类输出时间戳

ZDNet软件频道 时间:2002-10-25 作者: |  我要评论()
本文关键词:
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";
    }      
}

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134