A mini-post to expose a simple method to check the Quartz cron expression:

public static void testCronExpression(String expression) throws Throwable  {
	CronExpression cronExpression = new CronExpression(expression);
	Date d1 = cronExpression.getNextValidTimeAfter(new Date());
	int i=0;
	while(i<=100) {
		System.out.println(d1);
		d1 = cronExpression.getNextValidTimeAfter(d1);
		i++;
	}
}

Example 1:

testCronExpression("0 0/5 8-19 ? * 2,3,4,5,6");

The result in the console could be:

Thu Aug 16 10:55:00 CEST 2012
Thu Aug 16 11:00:00 CEST 2012
Thu Aug 16 11:05:00 CEST 2012
Thu Aug 16 11:10:00 CEST 2012
Thu Aug 16 11:15:00 CEST 2012
Thu Aug 16 11:20:00 CEST 2012
...
Fri Aug 17 15:30:00 CEST 2012
Fri Aug 17 15:35:00 CEST 2012

Example 2:

testCronExpression("0 32 10,13,16 ? * MON,TUE,WED,THU");

The result in the console could be:

Thu Aug 16 13:32:00 CEST 2012
Thu Aug 16 16:32:00 CEST 2012
Mon Aug 20 10:32:00 CEST 2012
Mon Aug 20 13:32:00 CEST 2012
Mon Aug 20 16:32:00 CEST 2012
...
Thu Oct 11 16:32:00 CEST 2012
Mon Oct 15 10:32:00 CEST 2012
Mon Oct 15 13:32:00 CEST 2012
Mon Oct 15 16:32:00 CEST 2012

Example 3:

testCronExpression("0 0/5 7-19 ? * 2,3,4,5,6");

The result in the console could be:

Thu Aug 16 11:05:00 CEST 2012
Thu Aug 16 11:10:00 CEST 2012
Thu Aug 16 11:15:00 CEST 2012
Thu Aug 16 11:20:00 CEST 2012
Thu Aug 16 11:25:00 CEST 2012
Thu Aug 16 11:30:00 CEST 2012
...
Thu Aug 16 18:55:00 CEST 2012
Thu Aug 16 19:00:00 CEST 2012
Thu Aug 16 19:05:00 CEST 2012
Thu Aug 16 19:10:00 CEST 2012
Thu Aug 16 19:15:00 CEST 2012
Thu Aug 16 19:20:00 CEST 2012
Thu Aug 16 19:25:00 CEST 2012

Note: This method uses the quartz-1.6.0.jar version.

That’s all!!!

Huseyin OZVEREN