Для того, чтобы конвертировать LocalDate
в номер Instant
, вам необходимо указать время суток и часовой пояс. Класс LocalDate
предлагает метод toDateTime(), так что вы можете использовать этот пример и настроить его под свои нужды:
LocalDate date = new LocalDate();
LocalTime time = LocalTime.MIDNIGHT;
DateTimeZone zone = DateTimeZone.getDefault();
Instant instant = date.toDateTime(time, zone).toInstant();
в обратном направлении также needs a timezone.
Instant instant = Instant.now();
DateTimeZone zone = DateTimeZone.getDefault();
LocalDate date = instant.toDateTime(zone).toLocalDate();
Хотя можно оставить из аргументов зоны в Joda-времени (что означает часовой пояс системы) Я рекомендую указать его явно, чтобы сделать часовой пояс зависимость понятнее. Тот же момент/момент может быть связан с разными датами по всему миру (из-за изменений в полночь в некоторых местах или из-за пересечения международной линии дат).