在 Thymeleaf 中获取当前日期

Posted

技术标签:

【中文标题】在 Thymeleaf 中获取当前日期【英文标题】:Get current date in Thymeleaf 【发布时间】:2015-04-28 14:19:48 【问题描述】:

如何从 Thymeleaf 打印当前日期(以及最终时间)? 我正在尝试这些功能: http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#dates 但我无法让它们工作。

【问题讨论】:

【参考方案1】:

试试这个:

$#dates.format(#dates.createNow(), 'dd MMM yyyy HH:mm')

将创建一个java.util.Date() 对象,然后按照您的喜好进行格式化。


使用#calendars 实用程序对象

这是另一种方法:

$#calendars.format(#calendars.createNow(), 'dd MMM yyyy HH:mm')

结果是一样的。

【讨论】:

有了Java8TimeDialect,现在还有#temporals【参考方案2】:

这个对我来说很好用:

$#dates.format(#dates.createNow(),'YYYY/MM/dd HH:mm')

【讨论】:

【参考方案3】:

Date 将由 #dates 实用程序处理。 新的LocalDateTimeLocalDate 类将由#temporals 实用程序处理。

设置格式

<p th:text="$#dates.format(standardDate, 'dd-MM-yyyy HH:mm')"></p>
<p th:text="$#temporals.format(localDateTime, 'dd-MM-yyyy HH:mm')"></p>
<p th:text="$#temporals.format(localDate, 'MM-yyyy')"></p>

您必须将其发送到视图,如下所示:

model.addAttribute("standardDate", new Date());
model.addAttribute("localDateTime", LocalDateTime.now());
model.addAttribute("localDate", LocalDate.now());

只有当我们只指定特定的日期字段,跳过时间字段时,才能格式化LocalDate

输出结果

24-05-2019 21:57
24-05-2019 21:57
24-05-2019

【讨论】:

【参考方案4】:

在 thymeleaf 中获取当前日期和时间的另一种方法是使用,

$execInfo.now

当前日期和时间 ($execInfo.now),一个 Calendar 对象 对应于模板引擎开始执行的时刻 对于这个模板。

你可以创建一个WebContext来修改上下文变量,

WebContext ctx = new WebContext(request, servletContext, request.getLocale());

创建上下文时,它会创建一个对象,其中包含模板引擎的两个值。对象名称为execInfo。这两个变量是templateNamenow。可以在模板中的任何位置访问这些变量。

如果需要格式化日期格式可以这样操作,

WebContext ctx = new WebContext(request, servletContext, request.getLocale());
ctx.setVariable("today", dateFormat.format(cal.getTime()));

例子:

Current time : <div th:text="$execInfo.now.time">Wed Feb 10 13:55:58 IST 2016</div>

【讨论】:

【参考方案5】:

我希望这可行:

<b th:text="$#execInfo.now.time"></b>

【讨论】:

很高兴看到解释为什么会这样,例如,什么是“execInfo”?

以上是关于在 Thymeleaf 中获取当前日期的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 中获取当前日期、时间和日期

c++ 当前时间和日期获取

在shell中怎么获取当前日期和时间

C#中怎么获取当前日期和时间

Excel中,如何用函数获取当前日期(即系统日期)的月份值?谢谢

在JSP中如何获得当前日期(急)!!!