在java中停止计时器
抱歉再次打扰你 我在停止计时器方面遇到了麻烦。 我试着做一个布尔运算,在一次运行后,它会得到一个错误的值,然后取消计时器,但没有成功 计时器应在特定时间运行一次。使用timer.cancel()可以在运行任务之前将其取消 我想我可以在日期上加上几毫秒,这样它就会停止(连同timer.cancel()),但它不起作用 我会让你知道密码:在java中停止计时器,java,timer,timertask,Java,Timer,Timertask,抱歉再次打扰你 我在停止计时器方面遇到了麻烦。 我试着做一个布尔运算,在一次运行后,它会得到一个错误的值,然后取消计时器,但没有成功 计时器应在特定时间运行一次。使用timer.cancel()可以在运行任务之前将其取消 我想我可以在日期上加上几毫秒,这样它就会停止(连同timer.cancel()),但它不起作用 我会让你知道密码: public class MyTimeTask extends TimerTask { private String name; public
public class MyTimeTask extends TimerTask {
private String name;
public MyTimeTask(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println(this.name);
}
}
这是我试图解决这个问题的方法之一,但我不能,也不知道在所选日期上添加毫秒是否适合使其停止
我做错了什么
谢谢
public static void main(String[] args) throws ParseException {
DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String yearMonth = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM"));
String day = "05";
Date date = dateFormatter.parse(yearMonth + "-" + day + " 02:10:08PM");
System.out.println(yearMonth);
Timer timer = new Timer();
TimerTask task = new MyTimeTask("Patrick");
timer.schedule(task, date);
long expiremilis = 10l;
Date expireDate = new Date(date.getTime() + expiremilis);
timer.cancel();
}