
java 线程 设置每周的某一天的某个时间执行一次,用哪个方法。SchedulerTask
展开全部
有多种思路可以实现。
最直接最简单就是用:java.util.Timer 类的
scheduleAtFixedRate(TimerTask task, Date firstTime, long period) 方法。
第一个参数执行的任务,这个你应该知道了。第二个参数开始运行的时间,也就是第一次运行的时间。第三个参数是运行周期,以毫秒为单位。你可以算出一周时间的毫秒数为:
1000*60*60*24*7 = 604800000 毫秒。把这个作为第三个参数就行了。
也可以使用:schedule(TimerTask task, Date time) 方法
每次运行之后,用 new Date(time.getTime()+604800000) 的方法创建出下一周同一个时间,然后再次调用这个方法,用新日期作为参数。用这第二种方法可以实现你关掉程序,重新开之后,仍然会在指定时间运行,当然你要把这个日期保存下来,重开的时候加载。
最直接最简单就是用:java.util.Timer 类的
scheduleAtFixedRate(TimerTask task, Date firstTime, long period) 方法。
第一个参数执行的任务,这个你应该知道了。第二个参数开始运行的时间,也就是第一次运行的时间。第三个参数是运行周期,以毫秒为单位。你可以算出一周时间的毫秒数为:
1000*60*60*24*7 = 604800000 毫秒。把这个作为第三个参数就行了。
也可以使用:schedule(TimerTask task, Date time) 方法
每次运行之后,用 new Date(time.getTime()+604800000) 的方法创建出下一周同一个时间,然后再次调用这个方法,用新日期作为参数。用这第二种方法可以实现你关掉程序,重新开之后,仍然会在指定时间运行,当然你要把这个日期保存下来,重开的时候加载。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询