stopwatch.java

来自「多线程活动球java 程序,便于理解Multi-Threaded 的功能.」· Java 代码 · 共 75 行

JAVA
75
字号
import java.util.*;

public class StopWatch {
    Calendar 
    	startCal,
       	endCal;
    String
    	tzID = TimeZone.getDefault().getID();
    TimeZone 
    	tz = TimeZone.getTimeZone(tzID);
    
    /** Creates a new instance of StopWatch */
    public StopWatch() {
    }

    public StopWatch(String tzoneStr) {
	  tz = TimeZone.getTimeZone(tzoneStr);
    }
    
    // Start the stopwatch
    public void start() {
        startCal = Calendar.getInstance(tz);
    }
    
    // Stop the stopwatch
    public void end() {
        endCal = Calendar.getInstance(tz);
    }
    
    // Measure the elapsed time in different units
    public double elapsedSeconds() {
        return (endCal.getTimeInMillis() - startCal.getTimeInMillis())/1000.0;
    }
    
    public long elapsedMillis() {
        return endCal.getTimeInMillis() - startCal.getTimeInMillis();
    }
    
    public double elapsedMinutes() {
        return (endCal.getTimeInMillis() - startCal.getTimeInMillis())/(1000.0 * 60.0);
    }
    
    public static void main (String [] args) {
        
        StopWatch sw = new StopWatch();
        sw.start();  // capture start time
                
        
        try {
        Thread.sleep(500);   // sleep for 5 seconds
        }catch (Exception e) {
		System.out.println(e);
            System.exit(1);
        }
        
        sw.end();  // capture end time
        
        System.out.println("Elapsed time in minutes: " + sw.elapsedMinutes());
        System.out.println("Elapsed time in seconds: " + sw.elapsedSeconds());
        System.out.println("Elapsed time in milliseconds: " + sw.elapsedMillis());
        
        try {
            Thread.sleep(300);   // sleep for 5 seconds
            }catch (Exception e) {
    		System.out.println(e);
                System.exit(1);
            }
            
            sw.end();  // capture end time
            
            System.out.println("Elapsed time in minutes: " + sw.elapsedMinutes());
            System.out.println("Elapsed time in seconds: " + sw.elapsedSeconds());
            System.out.println("Elapsed time in milliseconds: " + sw.elapsedMillis());
    }
}  // end of StopWatch class

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?