Java 定时器使用

来源:互联网 发布:网络使人更疏远的数据 编辑:程序博客网 时间:2024/05/16 11:51
import java.util.Calendar;import java.util.Date;import java.util.Timer;/** * 定时执行 *  * @author dxm *  */public class DayTimer {// 时间间隔private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;/** * 开启定时器 */public void start() {// 当前时间Date now = new Date();// 定制每日23:59执行方法Calendar cal = Calendar.getInstance();cal.setTime(now);cal.set(Calendar.HOUR_OF_DAY, 23);cal.set(Calendar.MINUTE, 59);cal.set(Calendar.SECOND, 0);// 如果第一次执行定时任务的时间 小于 当前的时间Date date = cal.getTime();if (date.before(now)) {date = addDay(date, 1);}// 定时执行任务DayTask task = new DayTask();// 插件定时任务Timer timer = new Timer();timer.schedule(task, date, PERIOD_DAY);}/** * 增加或减少天数 *  * @param date * @param num * @return */private 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