java - 日期格式 : month abbreviation with dot

我有一个日期格式模式:MMM yyyy

并且希望:如果月份名称被缩短,则在名称后打印一个点。但如果月份名称不是缩写,则不会添加点。

例子:

  • May 2010 应该打印:May 2010(不带点)- May 只有 3 个字母长,所以不需要点,因为它不是缩写。
  • 2100 年 12 月应打印:Dec. 2010(带点)——十二月的长度超过3个字母,所以需要一个点,因为它是一个缩写。

这可以通过模式实现吗,还是我需要“手工”实现?

最佳答案

您可以做的是使用自定义 DateFormatSymbols在您的格式化程序中,您使用包含“May”而不是“May”的数组覆盖短月份数组。

更新:对不起,我最后一点错了,当然应该反过来,短月份最初是“一月”、“二月”等,你应该把它们替换为“一月”、“二月”除 5 月外的每个月。

https://stackoverflow.com/questions/4723421/

相关文章:

python - 使用 Python locals() 进行字符串格式化有缺点吗?

git - 在一系列 git 提交上运行 git-clang-format

java - 如何在 Java 中将表格数据格式化为文本?

java - 在 String.format() 中选择参数

python - 是否有与 Linux/Unix "fold"命令等效的 Vim?

asp.net-mvc - 具有自定义格式的 ASP.NET MVC ViewModel 映射

java - 在 javadoc 中将长 URL 分成几行

ruby - 使用 %w 时包括空格

c# - 将电话号码解析为其部分

c# - 使 Console.WriteLine() 换行而不是字母