Size: a a a

2021 March 17

w

wystan_hugh in pro.jvm
Alexandr Emelyanov
забудь про инстант, он тебе не нужен. оперируй конкретными типами, например OffsetDateTime
А если мне не нужны никакие offset, просто нужно знать время (unix milliseconds или типа того). какой из типов самый удобной?
источник

AE

Alexandr Emelyanov in pro.jvm
wystan_hugh
А если мне не нужны никакие offset, просто нужно знать время (unix milliseconds или типа того). какой из типов самый удобной?
смотри, тебе надо сохранять и вытаскивать одно и то же значение, проблема даты и времени состоит в том, что если при хранении не указывается смещение, в котором дата и время, то может произойти конвертация часового пояса в туче мест при записи/чтении в бд, драйвере и т.д.

поэтому дату и время надо хранить со смещением, кроме случая когда это какая то временная метка в конкретный день, не привязанная к часовому поясу, тогда используется LocalDateTime и строка как тип данных в бд

в твоем случае ты хочешь оперировать таймстампом, т.е. относительным временем, а значит оперировать им без смещения нельзя
источник

w

wystan_hugh in pro.jvm
Alexandr Emelyanov
смотри, тебе надо сохранять и вытаскивать одно и то же значение, проблема даты и времени состоит в том, что если при хранении не указывается смещение, в котором дата и время, то может произойти конвертация часового пояса в туче мест при записи/чтении в бд, драйвере и т.д.

поэтому дату и время надо хранить со смещением, кроме случая когда это какая то временная метка в конкретный день, не привязанная к часовому поясу, тогда используется LocalDateTime и строка как тип данных в бд

в твоем случае ты хочешь оперировать таймстампом, т.е. относительным временем, а значит оперировать им без смещения нельзя
>в твоем случае ты хочешь оперировать таймстампом, т.е. относительным временем
То ли я очень тупой, то ли здесь что-то странно. Я же хочу абсолютное время.
источник

AE

Alexandr Emelyanov in pro.jvm
надо вести дневник разжевывания принципов работы с датой и временем. раз десятый наверно тут уже разжевываю
источник

AE

Alexandr Emelyanov in pro.jvm
wystan_hugh
>в твоем случае ты хочешь оперировать таймстампом, т.е. относительным временем
То ли я очень тупой, то ли здесь что-то странно. Я же хочу абсолютное время.
тип колонки в бд какой?
источник

w

wystan_hugh in pro.jvm
``created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,`
источник

AE

Alexandr Emelyanov in pro.jvm
wystan_hugh
``created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,`
вот это самый проблемный тип, он без таймзоны
источник

AE

Alexandr Emelyanov in pro.jvm
начни с него, пока не укажешь - у тебя так и будут идти фантомные конвертации
источник

w

wystan_hugh in pro.jvm
Ну типа все серверы в UTC, там если на линукс машину зайти это видно. Собственно и в джаве везде это челики в Timestamp конвертируют.
источник

w

wystan_hugh in pro.jvm
Я так понимаю, что можно сделать намного лучше - если указать что-то с таймзоной в mysql и такой же тип в джаве. Какие типы надо указать?
источник

w

wystan_hugh in pro.jvm
Я это сделать сейчас не смогу это старый продакшен, просто для новых проектов.
источник

D

Dima in pro.jvm
Alexandr Emelyanov
забудь про инстант, он тебе не нужен. оперируй конкретными типами, например OffsetDateTime
нет, Саш
источник

D

Dima in pro.jvm
ты не прав
источник

AE

Alexandr Emelyanov in pro.jvm
если у вас таймстамп в проде без зоны, то у меня плохие новости
источник

D

Dima in pro.jvm
в случае постгреса для конкретных типов без допколонки это все бесполезно
источник

D

Dima in pro.jvm
ты же в курсе?
источник

AK

Andrey Karepin in pro.jvm
wystan_hugh
Просто оно как-то все само нормально работало со спринг-бут 2.1.4, а сейчас при обновлении на 2.4.3 эти timestamp приходящие из базы сдвинуты на мою таймзону. Нежданчик(
так может драйвер задаёт твою локальную таймзону в сессии из базы приходят с её учётом
источник

AE

Alexandr Emelyanov in pro.jvm
Dima
нет, Саш
я знаю что он под капотом может любой тип отобразить
источник

AE

Alexandr Emelyanov in pro.jvm
Dima
в случае постгреса для конкретных типов без допколонки это все бесполезно
непонял, без какой доп колонки?
источник

AK

Andrey Karepin in pro.jvm
Alexandr Emelyanov
забудь про инстант, он тебе не нужен. оперируй конкретными типами, например OffsetDateTime
а чем плох instant?
источник