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();
}
- JAVA定时器启动日期
- java日期操作 及 Timer定时器
- java日期操作 及 Timer定时器
- Java日期操作 及 Timer定时器
- Java定时器在JavaWeb中的整合启动
- java 定时器的使用(Timer) 日期类型 转换
- java quartz 中的时间格式 及启动定时器 触发器
- java 监听器ServletContextListener,服务启动加载及定时器
- [Java--定时器]--定时器举例
- 用定时器启动线程
- JAVA定时器
- java 定时器
- JAVA定时器
- java定时器
- JAVA定时器
- Java定时器
- JAVA定时器
- JAVA定时器
- 正则表达式知识详解之实战 读取网页中超链接 (java版示例)
- 育儿
- 服务器禁PING简述
- UIAlertController设置
- ASP.NET MVC 网站开发总结(二)——一个或多个文件的异步或同步上传
- JAVA定时器启动日期
- 用getChildFragmentManager解决Fragment嵌套Fragment数据丢失的问题
- 数组中第k大(或小)的元素(leetcode215)
- 数据库中四种常用的连接语句
- 《高性能JavaScript》摘要
- Java 访问权限问题
- 找出一组数中只出现一次的数1
- 处理数据——分为测试集和训练集
- 两个服务器之间文件传递(JAVA)