不,对不起 我知道没有Java库会自动将其
"MMM d"转换
20 sep.为偏爱月份缩写前的月份的语言环境。
您可以尝试通过以下方式修改Rowi的答案:
DateTimeFormatter ft = DateTimeFormatter .ofLocalizedDate(FormatStyle.MEDIUM) .withLocale(Locale.forLanguageTag("sv-SE"));但是结果是:
9月20日 2019年
它包括您不要求的年份。
高级解决方案将使用
DateTimeFormatterBuilder该类来构建
DateTimeFormatter对象。
DateTimeFormatterBuilder.getLocalizedDateTimePattern( FormatStyle.MEDIUM, null, IsoChronology.INSTANCE, Locale.forLanguageTag("sv-SE"))这返回
d MMMy。修改此字符串以删除
y和之前的空格。注意,在其他语言中
y可能是
yy,
yyyy或
u与字符串中最后可能不来。将修改后的格式模式字符串传递给
DateTimeFormatter.ofPattern。
可能有些不稳定。即使您查看所有可用语言环境的格式模式字符串,CLDR的下一版本(字符串来自何处)也可能会令人吃惊。但我认为这是我们能做的最好的事情。如果是我,我会考虑引发异常,以防万一我可以检测到来自的字符串
getLocalizedDateTimePattern看起来不像我知道如何修改的字符串。



