java 秒表时间格式化_java方法计时器,懒汉式,转换为00:00:00格式_魔术方块的博客-CSDN博客

计时器工具:

public class TimingUtil {

private static TimingUtil mTimingUtil;

private Timer timer;

private TimingCallback mTimingCallback;

private int mHeartbeat = 0;

private TimingTask mTimerTask;

private TimingUtil() {}

//初始化

public static TimingUtil init() {

if (mTimingUtil == null) {

mTimingUtil = new TimingUtil();

}

return mTimingUtil;

}

//开始

public void startTiming() {

if (mTimerTask != null) {

return;

}

mTimerTask = new TimingTask();

timer = new Timer();

timer.schedule(mTimerTask, 0, 1000);

}

public void setListen(TimingCallback timingCallback) {

mTimingCallback = timingCallback;

mTimingCallback.heartbeat(intToDateString(mHeartbeat));

}

//暂停

public void suspend() {

mTimerTask.cancel();

mTimerTask = null;

}

//停止清空

public void cancel() {

timer.cancel();

if (mTimerTask!=null) {

mTimerTask.cancel();

mTimerTask = null;

}

mHeartbeat = 0;

}

private class TimingTask extends TimerTask {

@Override

public void run() {

if (mTimingCallback==null){

return;

}

mTimingCallback.heartbeat(intToDateString(mHeartbeat++));

}

}

private String intToDateString(int value) {

int hour = value / 3600;

int min = value / 60 % 60;

int second = value % 60;

String hourString;

String minString;

String secondString;

if (hour < 10) {

hourString = "0" + hour;

} else {

hourString = hour + "";

}

if (min < 10) {

minString = "0" + min;

} else {

minString = min + "";

}

if (second < 10) {

secondString = "0" + second;

} else {

secondString = second + "";

}

return hourString + ":" + minString + ":" + secondString;

}

}

接口:

public interfaceTimingCallback{

public voidheartbeat(Stringtiming);

}


原网址: 访问
创建于: 2023-06-21 12:09:28
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论