ZonedDateTime в Бразилии по-прежнему получает смещение -2 вместо -3JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 ZonedDateTime в Бразилии по-прежнему получает смещение -2 вместо -3

Сообщение Anonymous »

Я работаю над приложением, использующим Java 8, Maven и Spring. С 2019 года в Бразилии отменено летнее время.

По сути, я меняю все даты в системе, чтобы они сохранялись в формате UTC и отображались в часовом поясе того, кто использует приложение. Большинство пользователей из Бразилии

Чтобы решить проблему с часовым поясом, я обновил JRE и JDK до последних версий Java 8, и поэтому все даты, которые указывали на летнее время, начали возвращаться к нормальному времени.
Благодаря этому мне удалось преобразовать даты, и я делал это около двух недель.

Проблема в том, что сегодня, около обеда, все преобразования, которые я делал, внезапно вернулись, чтобы указать летнее время, даже без каких-либо обновлений.

Пример:

Код: Выделить всё

calculatedList.forEach(dto -> {
LocalDateTime date = dto.getResultDate();

dto.setResultDate(date.atZone(ZoneId.of("UTC")).withZoneSameInstant(ZoneId.of("America/Sao_Paulo")).toLocalDateTime());
});
Когда я писал этот код, я позаботился о том, чтобы преобразование брало дату в формате utc и приводило ее к -3. Теперь этот же метод конвертируется в -2

Я писал подобные коды уже 2 недели, и до сих пор все работало как надо. Это очень расплывчатый вопрос, но я просто не могу себе представить, что я мог сделать, чтобы часовой пояс был неправильным. Может ли кто-нибудь помочь мне понять, что произошло?

Подробнее здесь: https://stackoverflow.com/questions/603 ... f-3-offset
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»