「java定时每天」java定时任务每月第一天
本篇文章给大家谈谈java定时每天,以及java定时任务每月第一天对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java定时器 每天12点 固定执行一个方法
可以使用timer的schedule方法实现定时任务,例如:把下面的new Date()参数换为你要定时的时间,创建一个线程执行你的任务
public class 定时 {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new myTest(), new Date());
}
}
class myTest extends TimerTask {
@Override
public void run() {
//你要执行的任务
}
System.out.println(hour + ":" + fen + ":" + sec + ":" + i);
}
修改一下就可以了
java定时器 每天凌晨 固定执行一个方法
二、如果是需要Tomcat启动就能执行,不需要main方法的定时器的话:
web.xml里面需要这么配置:
listener
listener-class
com.InitListener
/listener-class
/listener
第一个类:InitListener
package com.listener;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* 系统启动时的监听类 初始化系统数据
*
* @author jhoneder
*
*/
public class InitListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
// context销毁时,销毁初始化数据
}
public void contextInitialized(ServletContextEvent event) {
// TODO Auto-generated method stub
try {
goTimmer();
} catch (Exception e) {
System.out.println("失败:" + e.getMessage());
}
}
private void goTimer() {
Timer timmerTask = new Timer();
Calendar calEnviron = Calendar.getInstance();
// 每天的02:00.am开始执行
calEnviron.set(Calendar.HOUR_OF_DAY, 2);
calEnviron.set(Calendar.MINUTE, 00);
// date为制定时间
Date dateSetter = new Date();
dateSetter = calEnviron.getTime();
// nowDate为当前时间
Date nowDateSetter = new Date();
// 所得时间差为,距现在待触发时间的间隔
long intervalEnviron = dateSetter.getTime() - nowDateSetter.getTime();
if (intervalEnviron 0) {
calEnviron.add(Calendar.DAY_OF_MONTH, 1);
dateSetter = calEnviron.getTime();
intervalEnviron = dateSetter.getTime() - nowDateSetter.getTime();
}
// 每24小时执行一次
timmerTask.schedule(new UseTimer(timmerTask), intervalEnviron, 1 * 1000 * 60 * 60 * 24);
}
}
第二个类:
package com.listener;
import java.util.Timer;
import java.util.TimerTask;
/**
* 被调用执行类
*
* @author Administrator
*
*/
public class UseTimer extends TimerTask {
Timer timer = new Timer();
public UseTimer(Timer timer) {
this.timer = timer;
}
/*
* 被调用具体的方法
*/
public void run() {
System.out.println("开始具体执行!");
}
}
不懂得话可以追问!
java怎样做定时器每天一点发送一条短信到的需求
如果想用框架的话推荐“Spring Schedule定时任务”。
如果想自己简单的实现的话可以使用java的Timer类和TimerTask类,它们配合可以每隔指定时间执行一次对应的Task,比较简单,参考这篇博客,run函数中放你的发送短信的代码就行了。
java定时每天的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java定时任务每月第一天、java定时每天的信息别忘了在本站进行查找喔。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。