Как преобразовать LocalDate в мгновение ока?



Я работаю с новым API DateTime Java 8.



Как преобразовать LocalDate в мгновение?
Я получаю исключение с



LocalDate date = LocalDate.of(2012, 2, 2);
Instant instant = Instant.from(date);


и я не понимаю, почему.

621   2  

2 ответов:

чтобы преобразовать его в мгновение, вам нужно иметь экземпляр LocalDateTime, например:

LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC)

The Instant класс представляет собой мгновенную точку на временной линии. Для преобразования в локальную дату и из нее требуется часовой пояс. В отличие от некоторых других библиотек даты и времени, JSR-310 не будет выбирать часовой пояс для вас автоматически, поэтому вы должны предоставить его.

LocalDate date = LocalDate.now();
Instant instant = date.atStartOfDay(ZoneId.systemDefault()).toInstant();

В этом примере используется часовой пояс по умолчанию JVM -ZoneId.systemDefault() - для выполнения преобразования. Смотрите здесь для более длинный ответ к смежному вопросу.

Comments

    Ничего не найдено.