2009-08-14 17 views
0

私はたぶん馬鹿になっています - それは長い一日でした!私は時間ウィンドウは10msのであるとしてそこには高々1は、出力に時間が含まれることを期待し私はクォーツのgetNextIncludedTime()を理解していません

DateTime dt = new DateTime(); 
dt = dt.withDayOfMonth(20); 

Calendar cal = new CronCalendar("0 0/10 * * * ?"); 
long start = dt.getMillis(); 
System.out.println("Starting at " + start); 
long end = start + 10; 
long current = start; 
int i = 0; 
while (current < end) { 
    if (i > 0) { 
    System.out.println(i + ":" + current); 
    } 
    long next = cal.getNextIncludedTime(current); 
    current = next; 
    i++; 
} 

:私はこのコードを考えると...

をクォーツへの私の最初の進出で何かを誤解しましたカレンダーに含まれる時間は10分です。

しかし、私はそれを実行します。

Starting at 1250796103004 
1:1250796103005 
2:1250796103006 
3:1250796103007 
4:1250796103008 
5:1250796103009 
6:1250796103010 
7:1250796103011 
8:1250796103012 
9:1250796103013 

助けてください!

答えて

1

うん、ちょうど私はダンボールです。

カレンダーはEXCLUDED回を指定します。

私は、含める時間を指定するためにCronTriggerを使用していたはずです。コードはこのように見えるはずです...

CronTrigger cal = new CronTrigger("Test", "Test", "0 0/10 * * * ?"); 
... 
end = start + 1000000; 
... 
while (current < end) { 
    if (i > 0) { 
    System.out.println(i + ":" + current); 
    } 
    Date next = cal.getFireTimeAfter(new Date(current)); 
    current = next.getTime(); 
    i++; 
} 

これは私が期待していた出力です。

Starting at 1250798091337 
1:1250798400000 
2:1250799000000 
関連する問題