У меня странная ошибка с датой, которую я не могу решить несколько дней и прошу вашей помощи.
Я разработал в Java / Spring / Vaadin / Hibernate приложение, которое каждый день создает спортивные тренировки Пользователь. Проблема в том, что дата обучения не отображается правильно в браузере. Например, сейчас я создаю новый тренинг:
training.setTrainingdate(LocalDate.now());
На локальном хосте отображается правильно, но в Интернете с Amazon AWS Tomcat показывает неправильную дату (за день до этого). База данных MySql является общей для обоих случаев (localhost и aws) одинаковой на базе данных Amazon AWS RDS Mysql. Мой часовой пояс UT C +1 (Европа / Вена)
2020-02-17
, но в браузере, когда я получаю поезд из aws это шоу
2020-02-16
Что я уже проверял:
- Вкл AWS -RDS- MySQL Сервер:
SELECT now();
2020-02-17 12: 55: 50
и
SELECT * FROM `mydatabase`.training;
2020-02-17
- Elasti c Beanstalk на S SH:
date
Пн 17 февраля 11:55:50 UT C 2020
- Файлы журнала
- / var / log / tomcat8 / catalina. out
- / var / log / tomcat8 / httpd / access_log
- / var / log / tomcat8 / httpd / error_log
2020-02-17 11: 55: 50.985
Независимо от того, в какое время я пробую разницу, оставайтесь на один день.
Разные устройства и разные браузеры та же проблема.
Есть ли у вас Идея какая может быть? Большое спасибо!
РЕДАКТИРОВАТЬ:
TimeZone.getDefault())
На производственном сервере:
sun.util.calendar.ZoneInfo [id = "Универсальный", смещение = 0, dstSavings = 0, useDaylight = false, переходы = 0, lastRule = null]
На локальном хосте:
sun.util.calendar.ZoneInfo [id = "Европа / Берлин", смещение = 3600000, dstSavings = 3600000, useDaylight = верно, переходы = 143, lastRule = java .util.SimpleTimeZone [ID = Europe / Berlin, смещение = 3600000, dstSavings = 3600000, useDaylight = истина, StartYear = 0, StartMode = 2, StartMonth = 2, startDay = -1, startDayOfWeek = 1, = 3600000 начальный промежуток, startTimeMode = 2, endMode = 2, endMonth = 9, endDay = -1, endDayOfWeek = 1, EndTime = 3600000, endTimeMode = 2]]