我正试图解决一个似乎很棘手的问题,我被卡住了。你能帮帮忙吗?
在Spring Boot中,我有一个对象Holiday
,用于保存在MySQL数据库上的国家假日。对象Holiday
包含以下属性:
(...)
@Column(name = "title")
private String HolidayTitle;
@Column(name = "date")
private String holidayDate;
@Column(name = "updated")
private LocalDateTime updated;
@Column(name = "country")
private String country;
(...)
但我对updated
属性感兴趣,例如,在数据库中存储为20121-10-26 20:54:48。我想将其格式为dd-MM-yyyy HH:mm to Thymeleaf,但它由具有不同属性的Holiday
对象列表组成。
在控制器中,列表按照如下方式被检索:
@GetMapping("/getAllHolidays")
public String getAllHolidays(Model theModel) {
List<Holiday> theHolidays = holidayService.findAll();
theModel.addAttribute("holidays", theHolidays);
return "holidays";
}
如何使用DateTimeFormatter
为列表theHolidays
中的所有假日对象仅格式化属性updated
?
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm");
有可能通过使用Java流来实现这一点吗?
您可以使用Java Stream像这样解析日期:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm");
List<String> formattedDates = theHolidays.stream()
.map(Holiday::getUpdated)
.map(formatter::format)
.collect(Collectors.toList());
但是如果你用的是百里香叶,你可以这样设置你的日期:
<tr th:each="holiday : ${holidays}">
<td th:text="${#temporals.format(holiday.updated, 'dd-MM-yyyy HH:mm')}"></td>
</tr>