Как я могу распечатать текущую дату (и время, в конце концов) из 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')}
результат будет таким же.
Ответ 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>