In the code bellow, i'm getting an error in my "if" comparisson. The message says "isBefore(java.time.chrono.ChronoZonedDateTime<?>) in ChronoZonedDateTime cannot be applied to (java.time.LocalDate)
". How convert LocalDate to ChronoZonedDateTime
?
LocalDate taxBegin = tax.getBeginAt();
if(contract.getBeginAt().isBefore(taxBegin)){
//do something
}
I tried wrapping like ChronoZonedDateTime.from(taxBegin)
but didn't work, it gave me "DateTimeException: Unable to obtain ZoneId from TemporalAccessor: 2019-12-01 of type java.time.LocalDat
"
In order to convert a ZonedDateTime
object into a LocalDate
, you can use toLocalDate()
method. Thus, the following code should work for you:
LocalDate taxBegin = tax.getBeginAt();
if(contract.getBeginAt().toLocalDate().isBefore(taxBegin)){
//do something
}
Check https://howtodoinjava.com/java/date-time/localdate-zoneddatetime-conversion/ for an example of converting between ZonedDateTime
and LocalDate
.