我想添加第26天,第1天或第2天的天数序号后缀。
如何使用<f:convertDateTime>
在JSF中执行此操作?我尝试将pattern
属性与dd
一起使用,但是这只打印整个数字而没有任何序数后缀。
答案 0 :(得分:1)
不幸的是SimpleDateFormat
不支持<f:convertDateTime>
封面使用此功能。
你需要为此写一个custom EL function。这样的功能可能如下所示:
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>
常规方式的其他输出。