我会在第 26 天、第 1 天或第 2 天添加天数序数后缀。
我如何在 JSF 中使用<f:convertDateTime>
? 我试过使用pattern
属性 with dd
,但是这只会打印没有任何序数后缀的整数。
不幸的是,这SimpleDateFormat
不受<f:convertDateTime>
.
您需要为此编写一个自定义 EL 函数。这样的函数可能如下所示:
public static String getDayWithSuffix(Date date) {
if (date == null) {
return null;
}
int day = Integer.valueOf(new SimpleDateFormat("d").format(date));
if (day / 10 == 1) {
return day + "th";
}
switch (day % 10) {
case 1: return day + "st";
case 2: return day + "nd";
case 3: return day + "rd";
default: return day + "th";
}
}
并像这样使用:
#{my:getDayWithSuffix(bean.date)}
对于其余部分,例如一年中的月份,只需以<f:convertDateTime>
通常的方式使用另一个输出。