A mini-post to expose a simple method to check the Quartz cron expression:
01 | public static void testCronExpression(String expression) throws Throwable { |
02 | CronExpression cronExpression = new CronExpression(expression); |
03 | Date d1 = cronExpression.getNextValidTimeAfter( new Date()); |
06 | System.out.println(d1); |
07 | d1 = cronExpression.getNextValidTimeAfter(d1); |
Example 1:
1 | testCronExpression( "0 0/5 8-19 ? * 2,3,4,5,6" ); |
The result in the console could be:
1 | Thu Aug 16 10:55:00 CEST 2012 |
2 | Thu Aug 16 11:00:00 CEST 2012 |
3 | Thu Aug 16 11:05:00 CEST 2012 |
4 | Thu Aug 16 11:10:00 CEST 2012 |
5 | Thu Aug 16 11:15:00 CEST 2012 |
6 | Thu Aug 16 11:20:00 CEST 2012 |
8 | Fri Aug 17 15:30:00 CEST 2012 |
9 | Fri Aug 17 15:35:00 CEST 2012 |
Example 2:
1 | testCronExpression( "0 32 10,13,16 ? * MON,TUE,WED,THU" ); |
The result in the console could be:
01 | Thu Aug 16 13:32:00 CEST 2012 |
02 | Thu Aug 16 16:32:00 CEST 2012 |
03 | Mon Aug 20 10:32:00 CEST 2012 |
04 | Mon Aug 20 13:32:00 CEST 2012 |
05 | Mon Aug 20 16:32:00 CEST 2012 |
07 | Thu Oct 11 16:32:00 CEST 2012 |
08 | Mon Oct 15 10:32:00 CEST 2012 |
09 | Mon Oct 15 13:32:00 CEST 2012 |
10 | Mon Oct 15 16:32:00 CEST 2012 |
Example 3:
1 | testCronExpression( "0 0/5 7-19 ? * 2,3,4,5,6" ); |
The result in the console could be:
01 | Thu Aug 16 11:05:00 CEST 2012 |
02 | Thu Aug 16 11:10:00 CEST 2012 |
03 | Thu Aug 16 11:15:00 CEST 2012 |
04 | Thu Aug 16 11:20:00 CEST 2012 |
05 | Thu Aug 16 11:25:00 CEST 2012 |
06 | Thu Aug 16 11:30:00 CEST 2012 |
08 | Thu Aug 16 18:55:00 CEST 2012 |
09 | Thu Aug 16 19:00:00 CEST 2012 |
10 | Thu Aug 16 19:05:00 CEST 2012 |
11 | Thu Aug 16 19:10:00 CEST 2012 |
12 | Thu Aug 16 19:15:00 CEST 2012 |
13 | Thu Aug 16 19:20:00 CEST 2012 |
14 | Thu Aug 16 19:25:00 CEST 2012 |
Note: This method uses the quartz-1.6.0.jar version.
That’s all!!!
Huseyin OZVEREN
Related