六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 24|回复: 0

java 每天定时执行任务

[复制链接]

升级  34%

25

主题

25

主题

25

主题

秀才

Rank: 2

积分
101
 楼主| 发表于 2013-2-3 10:39:17 | 显示全部楼层 |阅读模式
public class RewardTaskManage {

//时间间隔一天
private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;

public RewardTaskManage() {

  Calendar calendar = Calendar.getInstance();

  /*** 定制每日零点执行方法 ***/
  calendar.set(Calendar.HOUR_OF_DAY, 0);

  calendar.set(Calendar.MINUTE,0);

  calendar.set(Calendar.SECOND, 0);
  //第一次执行定时任务的时间
  Date date=calendar.getTime();

  //如果第一次执行定时任务的时间 小于 当前的时间

  //此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。

  //if (date.before(new Date())) {

      //date = this.addDay(date, 1);

  //}
  
  Timer timer = new Timer();

  ServiceRewordAction task = new ServiceRewordAction();

  //安排指定的任务在指定的时间开始进行重复的固定延迟执行。
  timer.schedule(task,date,PERIOD_DAY);

}


// 增加或减少天数

public Date addDay(Date date, int num) {

  Calendar startDT = Calendar.getInstance();

  startDT.setTime(date);

  startDT.add(Calendar.DAY_OF_MONTH, num);

  return startDT.getTime();

}
  

}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表