Я поддерживаю большое корпоративное приложение, и у нас есть два класса, которые используют LocalDate.now для получения отметки времени, один использует время joda, другой - время Java. Обычно мы перезапускаемся каждую ночь, но ранее на этой неделе мы не могли этого сделать. На второй день работы приложения класс, использующий время joda, вернул правильную дату (20200505), но класс, использующий Java время, вернул дату включения приложения (20200504).
Оба класса делают новый вызов LocalDate.now в методе каждый раз, когда он вызывается.
Java time:
String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
//Use timestamp
Joda time:
LocalDate date = LocalDate.now();
String format1 = date.toString("MM/dd/yyyy");
//Use date
Почему Java 8 реализация LocalDate. Теперь возвращает неверную дату после изменения даты сервера без перезапуска приложения?