芬兰日期本地化的错误?

Gar*_*ary 1 java locale localization date-format finnish

我正在尝试使用此代码本地化芬兰:

Locale finLocale = new Locale("fi", "FI");
Date today = new Date(2017, 1, 1);
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG, finLocale);
String formattedDate = dateFormat.format(today);
System.out.println(formattedDate);
Run Code Online (Sandbox Code Playgroud)

我最终获得的是"helmikuutata".我希望"helmikuu"或"helmikuuta",但这似乎错了.

这是有效的芬兰语,还是Java中存在错误?我的版本是1.8.0_31

Pal*_*nal 5

是的,这是JDK中的一个错误(参见JDK-8074791),其中'ta'附加了一个额外的月份名称.这从JDK 8u60版本开始修复.因此,如果您升级到最新的JDK版本JDK8u131,您将获得正确的输出.