Java如何将一个月的第11天、第21天或第23天(序数指示符)格式化?

我知道这会给我这个月的一天,一个数(11,21,23):

SimpleDateFormat formatDayOfMonth = new SimpleDateFormat("d");

但你如何格式化月份的一天,包括序数指标,比方说11th21st还是23rd

回答:

// https://github.com/google/guava

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";

}

}

@kaliatech的表很不错,但是由于重复了相同的信息,因此很容易出现错误。这样的错误实际上在表中存在7tn,17tn27tn(随着时间的推移,由于StackOverflow上的流体性质,所以检查这个错误可能会固定在答案的版本历史,看看错误)。

以上是 Java如何将一个月的第11天、第21天或第23天(序数指示符)格式化? 的全部内容, 来源链接: utcz.com/qa/403844.html

回到顶部