Для расчётов мне требовалось перевести LocalDate в epochDays, теперь надо обратно. Пока сделал вот такую конструкцию:
private static final Long DAY_IN_MILLISECONDS = 86400000L;
LocalDate actualDAte = Instant.ofEpochMilli((date * DAY_IN_MILLISECONDS) - DAY_IN_MILLISECONDS)
.atZone(ZoneId.systemDefault()).toLocalDate();
Не самый лучший вариант, мне кажется, к тому же, он выдаёт неправильные данные. Есть ли другой способ перевести дни в дату?
Вот так можно, без лишних кастомных телодвижений, в которых можно накосячить лишний раз:
Instant.EPOCH.plus(epochDay, ChronoUnit.DAYS)
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate d = LocalDate.now();
System.out.println(d);
long epochDay = d.toEpochDay();
d = Instant.EPOCH.plus(epochDay, ChronoUnit.DAYS).atZone(ZoneId.systemDefault()).toLocalDate();;
System.out.println(d);
2018-04-10
2018-04-10
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно проверить есть ли в таблице поле с заданной датой,если нет,то создать, если есть - положить в last_insert_id() id существующего поляПытался сделать...