val atBadDate = java.time.LocalDate.parse("2017-06-30")
val Right(cron) = Cron("4 31 4 ? * *")
val next = cron.next(atBadDate)
assert(next.nonEmpty)
scala> val next = cron.datePart.next(atBadDate)
next: Option[java.time.LocalDate] = Some(2017-07-01)
LocalDate
does not support updates in time fields
LocalDateTime
from the LocalDate
LocalTime
and LocalDate
...