小编Jak*_*ski的帖子

如何更改 JDK8 中的 DateFormatSymbols 以解决与 JDK7(属格月份名称)的不兼容问题?

正如 Xaerxess 在本主题中发现的那样:Month name in genitive (Polish locale) with Joda-Time DateTimeFormatter in JDK8 DateFormatSymbols.getInstance(new Locale("pl", "PL")).getMonths() 默认返回所有格中的月份名称。以前的 Java 版本以主格形式返回月份名称。例如,使用“dd-MMMM-yyyy”模式的 SimpleDateFormat 格式在 JDK8 中与在 JDK6 或 7 中给出不同的结果。

这是一个很大的变化,我的一些旧应用程序无法使用新的月份名称正常工作。我正在寻找一种解决方案来更改 Locale PL 的全局默认月份名称。

我尝试使用 DateFormatSymbols.getInstance().setMonths(new String[] {..}),但它在全局范围内不起作用。

如果我能找到使用 Java 代码更改默认月份名称的解决方案,我可以在应用程序初始化时添加此代码,而无需更正整个应用程序。在我的例子中,我只是简单地使用 load-on-startup 选项将 servlet 添加到我的 Web 应用程序中。

或者也许您对如何在这种情况下使 Java 8 兼容有不同的想法?也许我可以在启动时传递给 jvm 的参数/选项?

incompatibility datetime-format java-8

6
推荐指数
1
解决办法
1030
查看次数

标签 统计

datetime-format ×1

incompatibility ×1

java-8 ×1