Как решить проблему времени экономии летнего света без изменения часового пояс JVM и сеанса базы данных в UTC. < /p>
Это проблема дизайна системы, используемая для решения проблем дупликации времени и потери времени, вызванной дневным временем экономии. Заканчивается, часы устанавливаются на один час (например, с 1:59:59 до 1:00:00), что приводит к тому же местному времени, появляющемуся дважды (например, 1:30 может соответствовать дневному времени или стандартному времени). Если не указано явно, система не может различить эти два раза. Началось время сохранения, операционные системы и библиотеки часовых поясов (такие как база данных IANA), как правило, строго следуют правилам и непосредственно изменяют системное время в момент прыжков, заставляя часы прыгать вперед на один час (например, с 1:59 до 3:00). < /li>
Это приводит к отсутствию локального времени во время перехода (например, 2: 2: 2: 2: 2: 2: 2: 2: 4 Если пользователи или системы пытаются обработать это время (например, когда рендеринг видеорологии и бэкэнд возвращает время записи 2:30), это может вызвать ошибки или логические аномалии. интерфейсы). Мы еще не думали о хорошем способе и надеемся увидеть, есть ли у кого-нибудь хорошие решения. достоверное время. Например, используйте библиотеку ZONEDDATETIME в Java или библиотеку PYZT в Python, чтобы автоматически обнаружить неверное время и бросить исключение; < /li>
Автоматическая коррекция (необязательно): Настройте недопустимое время до первого достоверного времени после прыжка (например, 2:30 до 3:30). Схема. < /p>
Дополнительная информация :
Что такое dst < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... ot-use-utc