Ответ 1
Чтобы преобразовать его в одно мгновение, вам нужно иметь экземпляр LocalDateTime, например:
LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC)
Я работаю с новым API DateTime Java 8.
Как преобразовать LocalDate в Instant? Я получаю исключение из
LocalDate date = LocalDate.of(2012, 2, 2);
Instant instant = Instant.from(date);
и я не понимаю, почему.
Чтобы преобразовать его в одно мгновение, вам нужно иметь экземпляр LocalDateTime, например:
LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC)
Класс Instant
представляет собой мгновенную точку на временной строке. Для перехода на локальную дату и обратно требуется зона времени. В отличие от некоторых других библиотек даты и времени, JSR-310 не будет автоматически выбирать для вас временную зону, поэтому вы должны ее предоставить.
LocalDate date = LocalDate.now();
Instant instant = date.atStartOfDay(ZoneId.systemDefault()).toInstant();
В этом примере используется временная зона по умолчанию JVM - ZoneId.systemDefault()
- для выполнения преобразования. См. Здесь более длинный ответ по соответствующему вопросу.