我想从2013年9月30日开始,每隔一个月重复执行一个函数,请问用java的Timer计时器应该怎么写?
解决方案 »
- MySQL,Hibernate映射问题
- 关于mysql+jsp+tomcat6配置数据库连接池的问题
- ResultSet.nest()问题
- struts2中对应html <input type="button">的是<s:submit>吗?怎样使它不可用呢?在线等
- axis2客户端调用问题
- struts2报ognl.InappropriateExpressionException: Inappropriate OGNL expression 1
- 如果一次在表单中提交多个纪录,如果用Struts的ActionForm存储数据?
- 急求:J2EE与Eclipse的具体区别是什么?怎么样区分与对待?
- 急急急-----哪位大虾在EJB上实现过大字段(BLOB)存取
- cas单点登录权限
- 用SSH2和Ajax做用户注册信息的校验,struts如何配置才能获得值?
- 如何解决struts2 乱码的问题
public static class MyTask extends TimerTask{
/*
* 定时任务
*/
public void run() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("--------" + sdf.format(new java.util.Date()));
}
}
public static void main(String[] args){
Timer timer = new Timer();
//设置开始执行任务的时间
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 11);
cal.set(Calendar.MINUTE, 34);
cal.set(Calendar.SECOND, 0);
Date date = new Date();
date = cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));
Date now = new Date();
long interval = date.getTime() - now.getTime();
if (interval < 0) {
cal.add(Calendar.DAY_OF_MONTH, 1);
date = cal.getTime();
interval = date.getTime() - now.getTime();
}
System.out.println("the interval time is: " + interval);
//2013-10-05 11:34:00后执行定时执行任务,每两秒执行一次,开始执行任务的时间可以设置
timer.schedule(new MyTask(), interval, 2 * 1000);
}}