Подтвердить что ты не робот

Получить текущую дату в Тимелеаф

Как я могу распечатать текущую дату (и время, в конце концов) из Thymeleaf? Я пробую эти функции: http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#dates но я не могу заставить их работать.

4b9b3361

Ответ 1

Попробуйте следующее:

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

будет создан объект java.util.Date(), который будет отформатирован так, как вы предпочитаете.


Использование служебного объекта #calendars

Это альтернативный метод:

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

результат будет таким же.

Ответ 2

Это отлично работает для меня:

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

Ответ 3

Используется другой способ получить текущую дату и время в тимелеафе,

${execInfo.now}

Текущая дата и время (${execInfo.now}), объект "Календарь" соответствующий моменту запуска механизма шаблона для этого шаблона.

Вы можете создать WebContext для изменения контекстных переменных,

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

Когда контекст создается, он создает объект, который содержит два значения для механизма шаблона. Имя объекта execInfo. Две переменные: templateName и now. Доступ к этим переменным можно получить в любом месте шаблонов.

Если вам нужно отформатировать формат даты, вы можете сделать это следующим образом:

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>

Ответ 4

Date будет обработана утилитой #dates.
Новые LocalDateTime, LocalDate будут обрабатываться утилитой #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

Ответ 5

Я надеюсь, что это работает:

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