我已经阅读了一些好的帖子,例如this one,它解释了在给定int
时接收序号的方法。
现在,我有一个LocalDate对象,我可以使用Thymeleaf模板中的任何DateTimeFormat
模式格式化我的日期。例如:
<strong th:text="${item.date} ? ${#temporals.format(item.date, 'dd')}"></strong>
问题:我怎样才能或者也许是什么是在Thymeleaf中获得类似结果的最佳方式post I linked to above。
我不是一位经验丰富的Java开发人员,因此如果您尽可能详尽地解释答案,那将非常有用。
答案 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>