Формат SQL timeStamp отличается в Windows и Ubuntu - PullRequest
0 голосов
/ 25 мая 2018

У меня есть база данных в MySQL, в которой один столбец имеет тип данных timstamp.Он хранит timstamp в этом формате yyyy-mm-dd hh-mm-ss как в Windows, так и в Linux.Но когда я выбираю данные из mysql из моего java-кода, он переносит данные в этом формате May 11, 2018, 11:35:34 AM на мои окна и в этом формате May 11, 2018 11:35:34 AM на linux ubuntu.

Как сделать формат отметок времени согласованным?

1 Ответ

0 голосов
/ 25 мая 2018

Это вызвано изменением поведения в JDK9, где используемые по умолчанию форматы теперь являются форматами Unicode CLDR, как описано здесь:

https://docs.oracle.com/javase/9/intl/internationalization-enhancements-jdk-9.htm#JSINT-GUID-9DCDB41C-A989-4220-8140-DBFB844A0FCA

В статье объясняется одинспособ изменить это поведение, переопределив свойство java.locale.providers.

Решение, которое я бы предпочел (хотя более сложное и допускает большую гибкость), это всегда использовать явный форматер для значений даты и времени.Например, посмотрите здесь

...