SQL timeStamp格式在windows和ubuntu上有所不同

时间:2018-05-25 09:53:13

标签: mysql linux windows timestamp

我在mysql中有一个db,其中一列是timstamp数据类型。 它在windows和linux上以这种格式yyyy-mm-dd hh-mm-ss存储timstamp。 但是当我从我的java代码中获取mysql中的数据时,它会在我的窗口上以May 11, 2018, 11:35:34 AM格式提供数据,并在May 11, 2018 11:35:34 AM上以linux ubuntu格式显示。

如何使时间戳格式保持一致?

1 个答案:

答案 0 :(得分:1)

这是由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属性来改变此行为的一种方法。

我更喜欢的解决方案(尽管更精细,它也允许更多的灵活性)是始终使用显式格式化器来表示日期时间值。例如,看here