平日(月曜日〜金曜日)のみ23:59:59に毎日の仕事をスケジュールしたい。
このcron式を使用します
"59 59 23?*月-金"、
しかし、出力には月曜日のトライプ値があります
水8月29日23:59:59ICT2012
木8月30日23:59:59ICT2012
金8月31日23:59:59ICT2012月9月3323:59:59ICT2012月9月0323:59:
59ICT
2012
月9月3日23:59:59ICT2012
火9月4日23:59:59ICT2012
水9月5日23:59:
59ICT2012木9月6日23:
59:59ICT2012金9月7日23:59:59ICT2012
表現が間違っていますか?助けが必要。
私は特定の日付、ここではコードをループしてこの出力を取得しています
`try {
CronExpression ce = new CronExpression(59 59 23 ? * MON-FRI);
Calendar start = Calendar.getInstance();
start.setTime(new Date());
Calendar end = Calendar.getInstance();
Date endDate = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").parse("Fri Sep 29 23:59:59 ICT 2012");
end.setTime(endDate);
for (; !start.after(endDate); start.add(Calendar.DATE, 1)) {
Date current = start.getTime();
System.out.println(ce.getNextValidTimeAfter(current));
}
} catch (ParseException ex) {
Logger.getLogger(HelloJob.class.getName()).log(Level.SEVERE, null, ex);
}
}`