У меня есть db в mysql, в котором один столбец имеет тип данных timstamp
. Он сохраняет timstamp в этом формате yyyy-mm-dd hh-mm-ss
как на окнах, так и на linux. Но когда я получаю данные из mysql из моего java-кода, он приносит данные в этом формате May 11, 2018, 11:35:34 AM
на мои окна и в этом формате May 11, 2018 11:35:34 AM
на linux ubuntu
,
Как сделать формат временной метки согласованным?
Это вызвано изменением поведения в JDK9, где используются форматы по умолчанию, которые теперь используются в Unicode CLDR, как описано здесь:
В статье объясняется один из способов изменения этого поведения, переопределяя свойство java.locale.providers
.
Решение, которое я бы предпочел (хотя, хотя и более продуманно, это также обеспечивает большую гибкость) заключается в том, чтобы всегда использовать явный форматтер для значений даты. Например, посмотрите здесь