0

こんにちは、特定の時間にジョブをスケジュールするクラスを作成しようとしています。ここにコードがあります、

public void test(){
        Timer timer = new Timer();
        Calendar date = Calendar.getInstance();
        date.set(Calendar.HOUR,0);
        date.set(Calendar.MINUTE, 0);
        date.set(Calendar.SECOND, 2);
        date.set(Calendar.MILLISECOND,0);

        //schedule to run on 1 am every friday. 
        timer.schedule(new JobRunner(), date.getTime(),1*0*0*0);
    }

最後の行で助けてください。そこに時間を指定する方法がわかりません。

ありがとう

4

1 に答える 1

2

これが役立つことを願っています。

    static final long period = 7*24*60*60*1000;//one week

public void test(){
    Timer timer = new Timer();
    Calendar date = Calendar.getInstance();
    date.set(Calendar.HOUR_OF_DAY, 1);
    date.set(Calendar.MINUTE, 0);
    date.set(Calendar.SECOND, 0);
    date.set(Calendar.MILLISECOND,0);
    date.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
    //in case you run the batch before date
    if (date.before(Calendar.getInstance())) {
        date.add(Calendar.DAY_OF_YEAR, 7);
    }        

    long delay =  date.getTimeInMillis() - new Date().getTime();              
    //schedule to run on 1 am every friday. 
    timer.schedule(new JobRunner(), delay, period);              
}

よろしく!

于 2013-02-12T17:35:29.373 に答える