JAVA定时器启动日期

来源:互联网 发布:己知阴影面积为10dm 编辑:程序博客网 时间:2024/06/03 22:51

/** 
  * 每个月执行一次  
  * 参数说明:
  * day:一个月中的哪一天,默认为当前天
  * hour:几点钟
  * minute:分钟
  * second:秒 默认为00:00:00 
  */
 public static Date getTargetDate(int day, int hour, int minute, int second) {

  Date date = new Date();

  Calendar calendar = Calendar.getInstance();
  
  calendar.setTime(date);  

  if (day != 0) {
   calendar.set(Calendar.DAY_OF_MONTH, day); // 设置哪一天
  }

  calendar.set(Calendar.HOUR_OF_DAY, hour);// 设置几点
  calendar.set(Calendar.MINUTE, minute);// 设置多少分
  calendar.set(Calendar.SECOND, second);// 设置多少秒

  if (calendar.getTime().getTime() < date.getTime()) {
   // 如果设置day 则认为是每个月执行,否则为每天执行
   if (day != 0) {  
    // 获取下个月的规定时间
    calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1);  
   } else {  
    // 获取第二天的规定时间
    calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + 1);
   }
  }
  //System.out.println("下次任务开始时间:" + sf.format(calendar.getTime()));
  return calendar.getTime();
 }

 /**
  *  每一天执行
  * @param hour
  * @param minute
  * @param second
  * @return
  */
 public static Date getDay(int hour, int minute, int second) {
  
  // 当前时间
  Date now = new Date();  
 
  // 定制每日执行方法
  Calendar cal = Calendar.getInstance();
  cal.setTime(now);
  
  cal.set(Calendar.HOUR_OF_DAY, hour);
  cal.set(Calendar.MINUTE, minute);
  cal.set(Calendar.SECOND, second);

  // 如果第一次执行定时任务的时间 小于 当前的时间
  Date date = cal.getTime();
  if (date.before(now)) {
   date = addDay(date, 1);
  }
  return date;
 }

 
 /**    
  * 增加或减少天数
  * @param date    
  * @param num
  * @return
  */   
 private static Date addDay(Date date, int num) {
  Calendar cal = Calendar.getInstance();
  cal.setTime(date);
  cal.add(Calendar.DAY_OF_MONTH, num);
  return cal.getTime();
 }





0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 8个月小孩不吃辅食怎么办 9个月小孩不吃辅食怎么办 十一个月宝宝拉肚子拉水怎么办 小孩好动上课也坐不住会怎么办 幼儿大班关于环保的手抄报怎么办 捷达车打开丝位子风扇总转怎么办 小班个案分析:好动的孩子该怎么办 孩子突然过于的兴奋不睡觉是怎么办 刚出生的宝宝听力未通过怎么办 孩子多动症被老师打不上学怎么办 小孩在校被学生打家长该怎么办? 8岁儿童好动上课不注意听课怎么办 怀孕第一个月喝了啤酒怎么办 不知道自己怀孕喝了酒怎么办 怀孕一个月不知道喝酒了怎么办 老师说孩子上课不专心听讲怎么办 二年级孩子上课不认真听讲怎么办 二年级的孩子浮躁上课不认真怎么办 三年级的小孩上课不认真听讲怎么办 大班孩子上课不专心听讲玩怎么办 老师跟家长说小孩上课讲话怎么办 别的家长动手打自己的孩子怎么办? 一岁3个月宝宝骨龄偏小怎么办 宝宝9个月了越来越粘人怎么办? 孩子突然说话结巴口吃了怎么办啊 很久不说话了不敢说话了怎么办 宝宝2岁了还不会说话怎么办 2岁的宝宝还不会说话怎么办 小宝宝有四个月了母乳不够吃怎么办 一个月的宝宝吐奶厉害怎么办 新生儿吐奶吐一次吐的特别多怎么办 把孩子打了一次现在说话结巴怎么办 宝宝五岁了口吃越来越严重了怎么办 幼儿把自己的舌头扣破皮了怎么办 6岁宝贝烧到39度怎么办 2岁半的宝宝说话结巴怎么办 2周3宝宝不会说话胆小怎么办 宝宝我2岁多了说话有点结巴怎么办 两岁宝宝说话突然结巴了怎么办 两岁3宝宝叫她名字不理人怎么办 九个月的宝宝身高不达标怎么办