SpringBoot Thymeleaf序数

时间:2016-04-29 11:15:08

标签: java spring-boot thymeleaf datetime-format

我已经阅读了一些好的帖子,例如this one,它解释了在给定int时接收序号的方法。

现在,我有一个LocalDate对象,我可以使用Thymeleaf模板中的任何DateTimeFormat模式格式化我的日期。例如:

<strong th:text="${item.date} ? ${#temporals.format(item.date, 'dd')}"></strong>

问题:我怎样才能或者也许是什么是在Thymeleaf中获得类似结果的最佳方式post I linked to above

我不是一位经验丰富的Java开发人员,因此如果您尽可能详尽地解释答案,那将非常有用。

1 个答案:

答案 0 :(得分:3)

在Thymeleaf的模板中你可以use static fields(和函数),所以在你看来它会是这样的:
1)Code from the question you related (I just modified it a little bit)

package your.packagename;
// http://code.google.com/p/guava-libraries
import static com.google.common.base.Preconditions.*;

public class YourClass {

    public static String getDayOfMonthSuffix(String num) {
        Integer n = Integer.valueOf(num == null ? "1" : num);
        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";
        }
    }
}

2)在视图中调用它:

<strong th:text="${#temporals.format(item.date, 'dd') + T(your.packagename.YourClass).getDayOfMonthSuffix(#temporals.format(item.date, 'dd'))}"></strong>