Это какая-то загадка. JDK 8/11/17/21 выдают NOVT, JDK25 – GMT. Хотя, казалось бы, Joda Time от JDK не зависит. L.o.r как раз недавно с 21 на 25 переехал.
не понятно зачем суффикс с зоной. Во всех интерфейсах показывается локальное время клиента без зоны.
Сейчас будет практически оффтоп-юмор (пока jdk25 пытаюсь поставить).
Я недавно чуть не подрался с бэкэндщиками и фронтэндщиками из-за timestamp/timestamptz. Это оно снаружи «во всех интерфейсах». А в кишках - надо уговорить сначала Шарп, а потом уговорить JS. И чтоб все одновременно с БД понимали о каком именно времени мы говорим. Одно неверное движение и - «вы тут были минус 432 минуты назад».
Это да, на половине проектов у нас со временем полная лапша была.
И чтоб все одновременно с БД понимали о каком именно времени мы говорим.
Золотое правило, которое помогает содержать волосы блестящими и шелковистыми а сон крепким — время или передается/хранится с зоной, или это UNIX-эпоха. В таком случае все очевидно и однозначно.
Я даже в самом JDK-то не нашел точное место. Пытался подменять /usr/lib/jvm/java-25-openjdk/lib/tzdb.dat на 21 - ноль эффекта.
Одна и та же программа, даже без перекомпиляции, просто в среде выполнения - то так, то эдак. По идее, я так понимаю, значит оно где-то налету должно читать эти зоны. Но так и не понял где именно какое-то условное zones.ini у него.