使用序数指示器格式化一月中的某一天
虽然 SimpleDateFormat 允许您将一月中的某一天格式化为数字 (dd),它没有提供包含序数指示符的方法(例如,11th、21st、 23rd).
要实现此目的,您可以结合使用逻辑和字符串操作。下面是一个示例:
import static com.google.common.base.Preconditions.*; String getDayOfMonthSuffix(final int n) { checkArgument(n >= 1 && n <= 31, "illegal day of month: " + n); if (n >= 11 && n <= 13) { return "th"; } switch (n % 10) { case 1: return "st"; case 2: return "nd"; case 3: return "rd"; default: return "th"; } }
此函数根据月份中的给定日期返回适当的序数指示符。例如,getDayOfMonthSuffix(11) 将返回“th”。
避免基于表格的解决方案
虽然使用表格将日期映射到其日期可能看起来很方便序数指标,这种方法会带来错误的风险。例如,如果表丢失或包含错误,可能会导致不正确的结果。上述代码方法通过使用逻辑动态计算后缀消除了这个潜在问题。
以上是如何在 Java 中将序数指示符(st、nd、rd、th)添加到月份格式中?的详细内容。更多信息请关注PHP中文网其他相关文章!