2

我会在第 26 天、第 1 天或第 2 天添加天数序数后缀。

我如何在 JSF 中使用<f:convertDateTime>? 我试过使用pattern属性 with dd,但是这只会打印没有任何序数后缀的整数。

4

1 回答 1

1

不幸的是,这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>通常的方式使用另一个输出。

于 2013-09-12T11:20:21.100 回答