加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java线程每天定时执行任务

(2014-12-08 11:10:49)
标签:

股票

分类: 基础
转自:http://blog.csdn.net/hzw2312/article/details/13295745

  1. import java.util.TimerTask;  
  2.   
  3. public class Task extends TimerTask  
  4.     public void run()  
  5.         System.out.println("我有一头小毛驴!");   
  6.      
  7.  

  1. import java.util.Calendar;  
  2. import java.util.Date;  
  3. import java.util.Timer;  
  4.   
  5.   
  6. public class TimerManager  
  7.   
  8.       
  9.     public static void main(String[] args)  
  10.         new TimerManager();    
  11.      
  12.   
  13.     //时间间隔(一天)  
  14.     private static final long PERIOD_DAY 24 60 60 1000 
  15.     public TimerManager()  
  16.         Calendar calendar Calendar.getInstance();  
  17.         calendar.set(Calendar.HOUR_OF_DAY, 1); //凌晨1点  
  18.         calendar.set(Calendar.MINUTE, 0);  
  19.         calendar.set(Calendar.SECOND, 0);  
  20.         Date date=calendar.getTime(); //第一次执行定时任务的时间  
  21.         //如果第一次执行定时任务的时间 小于当前的时间  
  22.         //此时要在 第一次执行定时任务的时间加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。  
  23.         if (date.before(new Date()))  
  24.             date this.addDay(date, 1);  
  25.          
  26.         Timer timer new Timer();  
  27.         Task task new Task();  
  28.         //安排指定的任务在指定的时间开始进行重复的固定延迟执行。  
  29.         timer.schedule(task,date,Calendar.DAY_OF_MONTH);    
  30.      
  31.     // 增加或减少天数  
  32.     public Date addDay(Date date, int num)  
  33.         Calendar startDT Calendar.getInstance();  
  34.         startDT.setTime(date);  
  35.         startDT.add(Calendar.DAY_OF_MONTH, num);  
  36.         return startDT.getTime();  
  37.      
  38.   
  39. }  

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有