Справочная информация
У меня есть сервер MySQL 8 с часовым поясом по умолчанию, установленным на +08:00, с существующим хранилищем дат с использованием типа DATETIME.
Я хочу использовать Spring Data JPA для получения даты в ZonedDateTime, например. 2024-07-08T08:00:00+08:00 или 2024-07-08T00:00:00Z. И в конечном итоге отправьте эту дату и время во внешний интерфейс, чтобы клиенты могли определить, как выполнять рендеринг в зависимости от их часовых поясов.
Серверы приложений работают в облаке. Я полагаю, что переменные окружения TZ в настоящее время неправильно настроены. Некоторые серверы не настроены, некоторые настроены на «Азия/Куала-Лумпур».
Я решил, что мне нужно правильно установить serverTimeZone в строке подключения JDBC и TZ. Но я продолжал получать неправильный результат. Например, 2024-07-08T08:00:00, просмотренный в DBeaver, возвращается как 2024-07-08T08:00:00Z из Spring Boot.
Самое близкое, к чему я пришел, - это установить для JDBC и TZ значение «Asia/Kuala_Lumpur» и преобразовать с помощью ZoneId.systemDefault(). Если возможно, я хочу добиться этого без добавления конвертера ко всем моим объектам.
Вопрос
Как автоматически получить ZonedDateTime/OffsetDateTime на основе часовой пояс соединения в Spring Boot?
Подробнее здесь: https://stackoverflow.com/questions/787 ... the-connec