请考虑以下代码
String pattern = "*/17 * * * *";
Date d = new Date();
for (int i = 0; i < 10; i++) {
System.out.println("Start: " + d + ", " + (d = new Predictor(pattern, d).nextMatchingDate()));
}
这会输出以下示例(我把括号中没有的时间放在括号中):
Start: Tue Jun 11 12:54:48 GMT+02:00 2013, Tue Jun 11 (13:00:00) GMT+02:00 2013
Start: Tue Jun 11 13:00:00 GMT+02:00 2013, Tue Jun 11 13:17:00 GMT+02:00 2013
Start: Tue Jun 11 13:17:00 GMT+02:00 2013, Tue Jun 11 13:34:00 GMT+02:00 2013
Start: Tue Jun 11 13:34:00 GMT+02:00 2013, Tue Jun 11 13:51:00 GMT+02:00 2013
Start: Tue Jun 11 13:51:00 GMT+02:00 2013, Tue Jun 11 (14:00:00) GMT+02:00 2013
Start: Tue Jun 11 14:00:00 GMT+02:00 2013, Tue Jun 11 14:17:00 GMT+02:00 2013
Start: Tue Jun 11 14:17:00 GMT+02:00 2013, Tue Jun 11 14:34:00 GMT+02:00 2013
Start: Tue Jun 11 14:34:00 GMT+02:00 2013, Tue Jun 11 14:51:00 GMT+02:00 2013
Start: Tue Jun 11 14:51:00 GMT+02:00 2013, Tue Jun 11 (15:00:00) GMT+02:00 2013
Start: Tue Jun 11 15:00:00 GMT+02:00 2013, Tue Jun 11 15:17:00 GMT+02:00 2013
虽然模式配置为匹配可被17整除的分钟,但如果这是描述它的正确方法,则预测器会将精确的小时(13:00,14:00,15:00 ......等)视为有效的下一个 - 匹配日期!
我的问题是:
谢谢。
答案 0 :(得分:0)
在此背景下0
和*
可以互换。所以它将在一小时内运行,然后在一小时内以17分钟的间隔运行。
从小时后17分钟开始,然后在该持续时间尝试此模式:17-59/17 * * * *