Java simple timer and java Timer
Code
Package com. benywave; import java. util. timer; import java. util. timerTask; public class TimerTest {private Timer timer; private long elapsedSeconds; public TimerTest () {timer = new Timer ();} public static void main (String [] args) {// System. out. println (formatElapsedTime (3661); new TimerTest (). startClock ();}/*** start rough timing */private void startClock () {elapsedSeconds = 0; timer. schedule (new TimerTask () {@ Override public void run () {System. out. println (formatElapsedTime (elapsedSeconds); elapsedSeconds + = 1 ;}, 0,999) ;}private void stopClock () {if (timer! = Null) {timer. cancel (); timer. purge () ;}/ *** format the output time String * @ param elapsedSeconds * @ return */public static String formatElapsedTime (long elapsedSeconds) {long hours = 0; long minutes = 0; long seconds = 0; if (elapsedSeconds> = 3600) {hours = elapsedSeconds/3600; elapsedSeconds-= hours * 3600;} if (elapsedSeconds> = 60) {minutes = elapsedSeconds/60; elapsedSeconds-= minutes * 60;} seconds = elapsedSeconds; StringBuilder sb = new StringBuilder (); sb. append (addZeroBeforeNumber (hours); sb. append (":"); sb. append (addZeroBeforeNumber (minutes); sb. append (":"); sb. append (addZeroBeforeNumber (seconds); return sb. toString ();}/*** add 0 for processing. If there are less than two digits, add 0 * @ param number * @ return */public static String addZeroBeforeNumber (long number) {StringBuilder sb = new StringBuilder (); if (number> = 0 & number <= 9) {return sb. append ("0 "). append (number ). toString ();} return sb. append (number ). toString ();}}
Console output
This method is just rough timing and is not suitable for precise timing scenarios.
Although the method to stop the timer is written, it is not called, so it will not stop after the timer is started.
It is only used as an exercise demo for reference.