JAVA 以月来定时 求思路

gbx007 2010-03-29 01:15:22
想到 定时 一般都会用 TIMER 来实现 , 我的需求是每个月的第一天 运行下 , 但是每月的日子是不固定的, 有时候是31天有时候是30天 也有可能28天.

是不是 TIMER 就无能为力了 ?


那自己写的话 怎么样才能达到最高效率?
...全文
135 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuaiAWP 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 guixiang155cm 的回复:]
用spring的定时器。 想设什么时间就设什么时间、。
[/Quote]
人间凶器
_Nick_ 2010-03-31
  • 打赏
  • 举报
回复
用spring的定时器。 想设什么时间就设什么时间、。
小小都不懂 2010-03-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 guixiang155cm 的回复:]
用spring的定时器。 想设什么时间就设什么时间、。
[/Quote]
你的头像真好看
tangwq121 2010-03-30
  • 打赏
  • 举报
回复
quartz
wakeUpDoNottLazy 2010-03-30
  • 打赏
  • 举报
回复

public class TimerRun {

public static void main(String[] args) {
Timer timer = new Timer();
MyTask myTask = new MyTask(timer);
timer.schedule(myTask, 0);
}

}

class MyTask extends TimerTask{

Timer timer = null;

public MyTask(Timer timer) {
this.timer = timer;
}

@Override
public void run() {
runTask();
createdNewTask();
removeCurrentTaskFromTimer();
}

private void runTask(){
//your business
}
private void removeCurrentTaskFromTimer(){
this.cancel();
timer.purge();
timer = null;
}
private void createdNewTask(){
MyTask myTask = new MyTask(timer);
timer.schedule(myTask, getNextRunTime());
}
private long getNextRunTime(){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.MONTH, 1);
return calendar.getTimeInMillis();
}
}
gbx007 2010-03-29
  • 打赏
  • 举报
回复
所以 就等于 用 Timer ,循环周期 是 每天 ,然后判断是否是 月的第一天? "天" 是最小单位了?

quartz我知道 使用是很方便, 我这个程序时写在android里的,所以要自己实现.
aSysBang 2010-03-29
  • 打赏
  • 举报
回复
org.springframework.scheduling.quartz
spring 已经封装好的quartz
xq_zhang 2010-03-29
  • 打赏
  • 举报
回复
这个需求用 quartz来解决最方便了
Ark032425 2010-03-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qqbz 的回复:]
用线程,线程内死循环(和Timer效果一样),开始取得系统时间,判断是否是1号,不是1号的话sleep一天。
[/Quote]
对,就这样。再要搞个死循环的跳出条件。关程序时好用
qqbz 2010-03-29
  • 打赏
  • 举报
回复
用线程,线程内死循环(和Timer效果一样),开始取得系统时间,判断是否是1号,不是1号的话sleep一天。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧