После обновления Spring boot 3.2.x ZoneddateTime сохраняется в БД всегда в формате UTC.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 После обновления Spring boot 3.2.x ZoneddateTime сохраняется в БД всегда в формате UTC.

Сообщение Anonymous »

Рабочий сценарий:
Service-A: с Java 8, Spring boot 2.7.x
  • Настройка ZoneddateTime ("Америка/Нью_Йорк") в объекте Java и добавление
    его в очередь RabbitMQ.
Service-B: с Java 8, Spring boot 2.7.9
  • Получает ZoneddateTime из очереди и сохраняет его в базе данных MySql.
  • ZoneddateTime сохраняется в EST /EDT, как и ожидалось.
БД MySQL:
  • Результат запроса (SELECT @@system_time_zone;) — это EDT.
  • столбец типа данных в хранилище MySQL для ZoneddateTime — datetime
Проблема:
После обновления Service-B (службы, которая сохраняет дату и время в БД) до Java 17 и загрузки Spring 3.2.9. ZoneddateTime получает постоянный формат UTC (EDT + 4 часа).
Отладка:
  • Я пытался преобразовать время в EDT/EST, а затем сохраняться в БД. Но по-прежнему сохраняется только в формате UTC.

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

final ZonedDateTime inboundTimeEST = inboundTime.withZoneSameInstant("America/New_York");
obj.setRequestTime(inboundTimeEST);
logsRepository.save(obj);
obj принадлежит нашему классу сущностей. Тип данных времени запроса — ZonedDateTime. импортировал эти два пакета import jakarta.persistence.*;import java.time.ZonedDateTime; в нашем классе
  • Я понизил версию весенней загрузки до 2.7.9 с Java 17. ZoneddateTime сохраняется в формате EST/EDT как ожидал. Я думаю, проблема не связана с обновлением Java.
Есть ли рекомендации или предложения по устранению этой проблемы или дальнейшей ее отладке? Я ожидаю, что дата и время должны быть в формате EDT/EST.

Подробнее здесь: https://stackoverflow.com/questions/790 ... n-db-alway
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • После обновления Spring boot 3.2.x ZoneddateTime сохраняется в БД всегда в формате UTC.
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • После обновления Spring boot 3.2.x ZoneddateTime сохраняется в БД всегда в формате UTC.
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как в JavaScript создать дату в формате даты OLE и сохранить ее в формате GMT/UTC, а НЕ в местном часовом поясе, использ
    Anonymous » » в форуме Jquery
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Python: преобразовать UTC Time-Tuple в UTC TimeStamp
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Преобразование UTC Time Tuple в UTC TimeStamp
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

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