如何实现每天固定时间提醒设定信息

来源:互联网 发布:燕十八mysql优化 编辑:程序博客网 时间:2024/05/19 04:55
package com.medical.util;import java.util.Calendar;import java.util.Date;import java.util.Timer;/** * 每天触发一次任务,实现短信自动发送 */public class TimeManagerPerDay {private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;private static final long TEST_SEC = 15 * 1000;public TimeManagerPerDay(){}public TimeManagerPerDay(int day){}public void timeTig() {// 使用默认时区和语言环境获得一个日历Calendar calendar = Calendar.getInstance();// 设置时间calendar.set(Calendar.HOUR_OF_DAY, 10);// 小时calendar.set(Calendar.MINUTE, 42);// 分钟calendar.set(Calendar.SECOND, 0);// 秒// 第一次执行任务的时间Date time = calendar.getTime();// 如果第一次执行任务的时间早于当前时间,那么第一次执行任务的时间推迟一天if (time.before(new Date())) {time = addMinute(time, 2);}System.out.println("启动时间:" + time);// 启动计划Timer timer = new Timer();timer.schedule(new TimeTrigger(), time, PERIOD_DAY);System.out.println("当前时间:" + new Date());}// 增加一天public Date addDay(Date date, int num) {Calendar startDT = Calendar.getInstance();startDT.setTime(date);startDT.add(Calendar.DAY_OF_MONTH, num);return startDT.getTime();}// 增加一分钟public Date addMinute(Date date, int num) {System.out.println("增加一分钟");Calendar startDT = Calendar.getInstance();startDT.setTime(date);startDT.add(Calendar.MINUTE, num);return startDT.getTime();}public static void main(String[] args) {new TimeManagerPerDay().timeTig();}}

import java.util.TimerTask;public class TimeTrigger extends TimerTask{@Overridepublic void run() {System.out.println("时间触发器已经启动");}}

1 0
原创粉丝点击