Combining last day of the month
with *
may cause a temporal to be skipped depending on the seed time.
var everyHourLastDayOfTheMonth = CronExpression.parse("0 0 * L * *");
System.out.println(everyHourLastDayOfTheMonth.next(OffsetDateTime.parse("2021-01-30T00:00:00Z")));
System.out.println(everyHourLastDayOfTheMonth.next(OffsetDateTime.parse("2021-01-30T23:00:00Z")));
Actual:
2021-01-31T01:00Z
2021-01-31T00:00Z
Expected:
2021-01-31T00:00Z
2021-01-31T00:00Z
Affects: 5.3.3