Size: a a a

2021 March 17

X

Xrups in pro.jvm
Внимание вопрос, как стоит его написать вернее. Любые комментарии приветствуются.
источник

AS

Aleksey Shipilev in pro.jvm
Прочитать внимательно джавадок на Comparator.comparing. Лябмда -- экстрактор полей, по которым сравнение делается, звать там compareTo не имеет смысла.
источник

X

Xrups in pro.jvm
Ок, спасибо.
источник

BP

Bogdan Panchenko in pro.jvm
Dima
без нее ты получишь при чтении UTC
Ни разу не терял, но постгрес новый (10 и 13)
источник

D

Dima in pro.jvm
Bogdan Panchenko
Ни разу не терял, но постгрес новый (10 и 13)
прочитай весь тред и ссылку на доки
источник

X

Xrups in pro.jvm
Aleksey Shipilev
Прочитать внимательно джавадок на Comparator.comparing. Лябмда -- экстрактор полей, по которым сравнение делается, звать там compareTo не имеет смысла.
Действительно надо было сразу в доки лезть. Спасибо большое за совет, впредь буду сначала там смотреть! ((=
источник

BP

Bogdan Panchenko in pro.jvm
Dima
у тебя было,  например ZonedDateTime с ZoneId = ‘Europe/Moscow’, ты сохранил в колонку с timestamp with timezone

читай обратно, у тебя будет ZonedDateTime будет с зоной сервера, а не с той, что ты указал
Jooq мне всегда правильно возвращает, правда у меня не зоны а OffsetDateTime, у нас переходы на летнее и зимнее. Если нужно хранить именно часовой пояс (а не оффсет) - да нужна колонка
источник

BP

Bogdan Panchenko in pro.jvm
Bogdan Panchenko
Jooq мне всегда правильно возвращает, правда у меня не зоны а OffsetDateTime, у нас переходы на летнее и зимнее. Если нужно хранить именно часовой пояс (а не оффсет) - да нужна колонка
PS: правда подключения идёт в одной временной зоне 🤔 нужно будет проверить на разных
источник

BP

Bogdan Panchenko in pro.jvm
Dima
Instant == UTC
Не, в доке написано что это промежуток. Я могу создать Instant.now(Clock.system(zoneId))
источник

BP

Bogdan Panchenko in pro.jvm
Хотя не стоп он все равно вернёт UTC. У Instant нет equals ? (Я протестировал на нем сначало)
источник

D

Dima in pro.jvm
//-----------------------------------------------------------------------
/**
* Obtains the current instant from the system clock.
* <p>
* This will query the {@link Clock#systemUTC() system UTC clock} to
* obtain the current instant.
* <p>
* Using this method will prevent the ability to use an alternate time-source for
* testing because the clock is effectively hard-coded.
*
* @return the current instant using the system clock, not null
*/
@return the current instant using the system clock, not null
*/
public static Instant now() {
   return Clock.systemUTC().instant();
}
источник

BP

Bogdan Panchenko in pro.jvm
Dima
раньше хотел, потом прочитал о нюансах сдвигов
Можно статью ? Может я так же буду делать, хотя сейчас мне именно оффсет и нужен
источник

D

Dima in pro.jvm
Bogdan Panchenko
Можно статью ? Может я так же буду делать, хотя сейчас мне именно оффсет и нужен
ох, тяжело найти будет, это был тред на SO, и там говорилось о всяких нюансах перехода в разных точках планеты на летнее/зимнее время и тд
источник

D

Dima in pro.jvm
но раз сейчас используешь - то продолжай, главной нюанс с постгресом помнить, если важно восстанавливать именно то, что передали
источник

D

Dima in pro.jvm
источник

BP

Bogdan Panchenko in pro.jvm
Dima
//-----------------------------------------------------------------------
/**
* Obtains the current instant from the system clock.
* <p>
* This will query the {@link Clock#systemUTC() system UTC clock} to
* obtain the current instant.
* <p>
* Using this method will prevent the ability to use an alternate time-source for
* testing because the clock is effectively hard-coded.
*
* @return the current instant using the system clock, not null
*/
@return the current instant using the system clock, not null
*/
public static Instant now() {
   return Clock.systemUTC().instant();
}
Дефолтнный понятный, я про той где Clock передать можно, но оказывается там все равно UTC, вопрос - тогда зачем это ?
источник

D

Dima in pro.jvm
Stated simply:

Time Zone = ( Offset-From-UTC + Rules-For-Anomalies )
источник

D

Dima in pro.jvm
вот из-за rules-for-anomalies пикаю всегда zoned dt
источник

V

Vlad in pro.jvm
Bogdan Panchenko
Дефолтнный понятный, я про той где Clock передать можно, но оказывается там все равно UTC, вопрос - тогда зачем это ?
для тестов
источник

AK

Andrey Karepin in pro.jvm
Bogdan Panchenko
Хотя не стоп он все равно вернёт UTC. У Instant нет equals ? (Я протестировал на нем сначало)
isBefore/isAfter/compareTo
источник