Я не знаю, как вы конвертировали в LocalDate
. Я считаю, что это работает.
/**
* @throws DateTimeException if the <code>Temporal</code> hasn’t got
* enough supported fields for a <code>LocalDate</code>.
*/
public static LocalDate convertToLocalDate(Temporal t) {
return LocalDate.from(t);
}
У него нет проблем с принятием LocalDateTime
:
LocalDateTime ldt = LocalDateTime.now(ZoneId.of("Asia/Qyzylorda"));
System.out.println("As LocalDate: " + convertToLocalDate(ldt));
Когда я только что запустил этот код, я получил такой вывод:
As LocalDate: 2020-03-13
Конечно, это вообще не работает для любого Temporal
.
convertToLocalDate(Year.of(2021));
Exception in thread "main" java.time.DateTimeException: Unable to obtain LocalDate from TemporalAccessor: 2021 of type java.time.Year
at java.base/java.time.LocalDate.from(LocalDate.java:396)
at com.ajax.Demo.convertToLocalDate(ConvertTemporalToLocalDate.java:18)
at com.ajax.Demo.main(ConvertTemporalToLocalDate.java:25)