You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DateTimeFormatter ofPattern使用'L'模式格式化月份显示为数字而非文本问题

问题原因
  • 模式字母选择错误:L代表独立月份格式,多数Locale的LLL短格式规则会直接输出数字月份,你需要的日期上下文内的文本缩写月份,应该使用代表标准月份格式的M对应的MMM规则。
  • 未显式指定Locale:DateTimeFormatter.ofPattern方法如果不传入Locale参数,会默认使用JVM运行环境的系统默认Locale,如果你需要输出英文的星期、月份缩写,不指定英文Locale的情况下哪怕模式字母正确也可能输出不符合预期的结果。
解决方案

调整模式字母的同时显式指定英文Locale即可,修改后的代码如下:

val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("e dd. MMM", Locale.ENGLISH)

调整后格式化LocalDateTime对象就可以得到Tue 23. Nov的预期输出。

内容的提问来源于stack exchange,提问作者Ralf Wickum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:06:07