有这段代码:
// 翻译为“从每月 1 日开始,每 3 天 00:00 点”
var cronExpression = CronExpression.parse("0 0 0 */3 * ?");
//不要有任何疑问,这就是 CronExpression 解析表达式的方式:
CronField seconds = CronField.parseSeconds(fields[0]);
CronField minutes = CronField.parseMinutes(fields[1]);
CronField hours = CronField.parseHours(fields[2]);
CronField daysOfMonth = CronField.parseDaysOfMonth(fields[3]);
CronField months = CronField.parseMonth(fields[4]);
CronField daysOfWeek = CronField.parseDaysOfWeek(fields[5]);
var currentEndDate = ZonedDateTime.ofInstant(Instant.parse(2024-10-21T00:00:00Z), ZoneId.of("America/New_York"));
var nextEndDate = cronExpression.next(currentEndDate);
nextEndDate 的值是多少?
10 月 24 日? ..相差3天?
或
10 月 22 日“从该月 1 日开始,每 3 天 00:00 点”意味着:1, 4, 7, 10, 13, 16, 19,
22, 25, ...
谢谢!
var date1 = cronExpression.next(nextEndDate);
var date2 = cronExpression.next(date1);
var date3 = cronExpression.next(date2);
var date4 = cronExpression.next(date3);
System.out.println("date1="+date1);
System.out.println("date2="+date2);
System.out.println("date3="+date3);
System.out.println("date4="+date4);