当前位置: 首页 > 面试题库 >

我每天下午2点如何运行TimerTask

翟曦
2023-03-14
问题内容

我想每天下午2点执行工作。java.util.Timer我可以使用哪种方法安排工作?

运行2小时后,它将停止工作并重新计划第二天的下午2点。


问题答案:
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Timer;
import java.util.TimerTask;


public class MyTimerTask extends TimerTask {
    private final static long ONCE_PER_DAY = 1000*60*60*24;

    //private final static int ONE_DAY = 1;
    private final static int TWO_AM = 2;
    private final static int ZERO_MINUTES = 0;


    @Override
    public void run() {
        long currennTime = System.currentTimeMillis();
        long stopTime = currennTime + 2000;//provide the 2hrs time it should execute 1000*60*60*2
          while(stopTime != System.currentTimeMillis()){
              // Do your Job Here
            System.out.println("Start Job"+stopTime);
            System.out.println("End Job"+System.currentTimeMillis());
          }
    }
    private static Date getTomorrowMorning2AM(){

        Date date2am = new java.util.Date(); 
           date2am.setHours(TWO_AM); 
           date2am.setMinutes(ZERO_MINUTES);

           return date2am;
      }
    //call this method from your servlet init method
    public static void startTask(){
        MyTimerTask task = new MyTimerTask();
        Timer timer = new Timer();  
        timer.schedule(task,getTomorrowMorning2AM(),1000*10);// for your case u need to give 1000*60*60*24
    }
    public static void main(String args[]){
        startTask();

    }

}


 类似资料:
  • 问题内容: 甲骨文表 我想将id标记为 new 或 edited 。问题是从5pm到5pm的记录中被认为是工作时间段, 即从 ‘2019-10-25 17:00:00’到‘2019-10-26 17:00:00’被认为是工作时间段 或昨天的下午5点到今天下午5点是一个工作时间。 例如:如果您查看表格并获得预期结果,则带有昨天6:00 PM记录和今天11AM记录的id记录应标记为new。 预期结果/

  • 问题内容: 我正在使用Node,并且需要使此功能每天在午夜运行,这可能吗? 问题答案: 我相信节点计划包将满足您的需求。通常,您希望所谓的cron安排和运行服务器任务。 使用 节点计划 :

  • 我正在试图找出如何设置cron在美国东部时间每天下午5点运行,这是正确的吗? 提前感谢!!

  • 如果我创建 cronjob 以每 2:30 运行一次命令会运行吗?(这意味着,我的 cron 将在每小时 90 分钟后运行一次。 命令如:30*/2***/command/xxx= 请帮帮忙?

  • 问题内容: 如何每天在指定时间(例如上午11:00)使用运行任务?我正在使用JDK 1.4.2,我知道它很旧,但这是项目所需要的。 问题答案: Quartz是在Java环境中调度进程的最著名的解决方案,但是您有很多选择。检查此列表: Quartz 是一个开源作业调度系统,可以与几乎任何J2EE或J2SE应用程序集成或一起使用。Quartz可用于创建简单或复杂的时间表。 Jcrontab 旨在扩展并

  • 问题内容: 我编写了一个Java程序,该程序使用Google Analytic API检索到目前为止的Google数据并将其导出为CSV文件。我希望该程序每天运行,以便CSV文件中的数据是最新的。我该如何实现? 问题答案: 您可以使用Windows Task Scheduler(请参阅教程)来启动任何程序。对于Java,您可能需要创建一个批处理文件来运行Java程序,然后使用Scheduler运行