@Test public void check_dayOfMonth_number_last_L() throws Exception { CronExpression cronExpr = new CronExpression("0 0 0 3L * *"); ZonedDateTime after = ZonedDateTime.of(2012, 4, 10, 13, 0, 0, 0, zoneId); ZonedDateTime expected = ZonedDateTime.of(2012, 4, 30 - 3, 0, 0, 0, 0, zoneId); assertEquals(expected, cronExpr.nextTimeAfter(after)); after = ZonedDateTime.of(2012, 2, 12, 0, 0, 0, 0, zoneId); expected = ZonedDateTime.of(2012, 2, 29 - 3, 0, 0, 0, 0, zoneId); assertEquals(expected, cronExpr.nextTimeAfter(after)); }
public ZonedDateTime nextTimeAfter(ZonedDateTime afterTime) { return nextTimeAfter(afterTime, afterTime.plusYears(4)); }
CronExpression { public ZonedDateTime nextTimeAfter(ZonedDateTime afterTime) { return nextTimeAfter(afterTime, afterTime.plusYears(4)); } }
CronExpression { public ZonedDateTime nextTimeAfter(ZonedDateTime afterTime) { return nextTimeAfter(afterTime, afterTime.plusYears(4)); } CronExpression(final String expr);  CronExpression(final String expr, final boolean withSeconds); }
CronExpression { public ZonedDateTime nextTimeAfter(ZonedDateTime afterTime) { return nextTimeAfter(afterTime, afterTime.plusYears(4)); } CronExpression(final String expr);  CronExpression(final String expr, final boolean withSeconds); static CronExpression create(final String expr); static CronExpression createWithoutSeconds(final String expr); ZonedDateTime nextTimeAfter(ZonedDateTime afterTime); LocalDateTime nextLocalDateTimeAfter(LocalDateTime dateTime); ZonedDateTime nextTimeAfter(ZonedDateTime afterTime, long durationInMillis); ZonedDateTime nextTimeAfter(ZonedDateTime afterTime, ZonedDateTime dateTimeBarrier); @Override String toString(); }
CronExpression { public ZonedDateTime nextTimeAfter(ZonedDateTime afterTime) { return nextTimeAfter(afterTime, afterTime.plusYears(4)); } CronExpression(final String expr);  CronExpression(final String expr, final boolean withSeconds); static CronExpression create(final String expr); static CronExpression createWithoutSeconds(final String expr); ZonedDateTime nextTimeAfter(ZonedDateTime afterTime); LocalDateTime nextLocalDateTimeAfter(LocalDateTime dateTime); ZonedDateTime nextTimeAfter(ZonedDateTime afterTime, long durationInMillis); ZonedDateTime nextTimeAfter(ZonedDateTime afterTime, ZonedDateTime dateTimeBarrier); @Override String toString();  }