Я пытаюсь преобразовать java.util.Date
в java.time.LocalDate
:
[java.util.Date instance].toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Однако есть случай, когда [java.util.Date instance]
имеет дневное время, например: 22:25, и я выбираю ZoneId, например, так: ZoneId.of("Asia/Singapore")
.
У исходящего LocalDate
будет другой день (потому что эта зона добавляет +6 часов), как, например, Европа/Минск:
printing java.util.Date: Thu Mar 04 22:25:00 CET 2021
printing converted java.util.Date to java.time.LocalDate with Europe/Minsk: 2021-03-04
printing converted java.util.Date to java.time.LocalDate with Asia/Singapore: 2021-03-05
и я хочу сохранить ту же дату в результирующих LocalDate
, что и в этом экземпляре Date
. Некоторые подходы, как решить эту проблему? Я предполагаю, что может быть несколько способов.