我想获得每周运行一次的java.util.Timer
个实例。例如;它应该每周二运行。
此代码不符合我的要求。
java.util.Timer timer = new java.util.Timer();
Calendar date1 = Calendar.getInstance();
date1.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
date1.set(Calendar.HOUR, 1);
date1.set(Calendar.MINUTE, 0);
date1.set(Calendar.SECOND, 0);
timer.schedule(new MyTimer(), date1.getTime(), TimeUnit.DAYS.toMillis(7));
我在所有问题中都搜索过它,但没有答案。 使用java.util.Timer不可能吗?
提前致谢, 最好的问候。
答案 0 :(得分:1)
看一下Quartz:
它有更好,更简洁的方式来实现你想要的东西。
看看这个例子:
http://quartz-scheduler.org/documentation/quartz-2.2.x/examples/Example3
如果您出于某种原因不喜欢Quartz,可以使用内置的ScheduledExecutorService:
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html
答案 1 :(得分:0)
java.util.Timer timer = new java.util.Timer();
Calendar date1 = Calendar.getInstance();
date1.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
date1.set(Calendar.HOUR, 1);
date1.set(Calendar.MINUTE, 0);
date1.set(Calendar.SECOND, 0);
timer.schedule(new MyTimer(), date1.getTime(), TimeUnit.DAYS.toMillis(7));
实际上,您尝试在此TimeUnit.DAYS.toMillis(7)
指定时间的间隔内安排TIMER对象。
如果您想在特定日期安排工作。创建另一个计划调度程序的调度程序
timer.schedule(timerObj,desiredDate)