定时器,可以根据自己定的时间执行一些方法。
有用过的人给一些参考,谢谢。急求,在线等。

解决方案 »

  1.   

    public static void main(String[] args) {

    //当天晚上23点开始执行任务,每隔1小时重复执行一次
    Calendar c = Calendar.getInstance();
    c.set(Calendar.HOUR_OF_DAY, 23);
    Date d = c.getTime(); Timer t = new Timer();
    t.schedule(new TimerTask(){
    @Override
    public void run() {
    // TODO 任务内容
    }

    }, d, 3600 * 1000);
    }
      

  2.   

    java Timer足够你用了
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Timer;import org.apache.log4j.Logger;public class TaskTimerManager { private Timer timer; public void timerStart() {
    timer = new Timer();
                    //TimerSend2OutBound 是具体的业务实现类
    TimerSend2OutBound toOutBoundTask = new TimerSend2OutBound();

     // 第一次运行时间08:00:00,关于执行时间,还可有很大配置,可放在配置文件中,在网上查查
     final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd '16:00:00'");
     // 首次运行时间
     Date firstTime;
    try {
    firstTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));
    timer.schedule(toOutBoundTask, firstTime, 60*60*1000);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    } public void cancel() {
    if (timer != null) {
    timer.cancel();
    }
    }}
      

  3.   

    timer.schedule(task, firstTime, period);task参数是,TimerTask 类,在包:import java.util.TimerTask .使用者要继承该类,并实现 public void run() 方法,因为 TimerTask 类 实现了 Runnable 接口。firstTime参数是,用户调用 schedule() 方法后,要等待这么长的时间才可以第一次执行 run() 方法。period参数是,第一次调用之后,从第二次开始每隔多长的时间调用一次 run() 方法。import java.util.Timer;
    import java.util.TimerTask;
    public class TestTimer {
     
        static Timer timer = null; 
        public static void main(String[] args) {
            timer = new Timer();
               System.out.println("-----------定时间器已经启动");
               timer.schedule(new TimerTask() {
                  @Override
                  public void run() {
                  System.out.println("运行我了哦!!!");
               }
            }, 0, 5*1000);
        }
    }
     
      

  4.   

        @Schedule(second = "0", minute = "0", hour = "23", dayOfWeek = "Mon-Sat", dayOfMonth = "*", month = "*", year = "*", persistent = false, info = PBISYNCHRONOUS_SCHEDULER_INFO)
        private void scheduledTimeout(final Timer timer){}最简单,这个每天23执行,second = "0", minute = "0", hour = "23" ,在三个值,指定什么就是什么,
    比如second = "23", minute = "12", hour = "12" 12点12分23秒,要每10分钟一次 就 second = "23", minute = "*/10", hour = "12" ,这是12点时。每10分钟一次,改hour = "*",每10分一次,
      

  5.   

    quartz 百度一下 你就知道
      

  6.   

    java timer类 不行就自己封装一下了
      

  7.   

    http://blog.csdn.net/caodegao/article/details/8080158我的例子
      

  8.   

    timer.schedule第二个参数修改一下:不是直接用getTime就完事了,要取当前的系统时间,然后取准备运行的系统时间,计算时间差。例如:
    long nowTime = (Calendar.getInstance()).getTimeInMillis();
    Calendar runTime = ...
    runTime.set(Calendar.HOUR_OF_DAY,23);
    runTime.set(....,0);时分都设置为0分0秒runt = runTime.getTimeInMillis();中间的那个参数就是: runt - nowTime。