如何格式化LocalDateTime yyyy-MM-dd HH:mm到dd-MM-yyyy HH:mm作为字符串的整个



我正试图解决一个似乎很棘手的问题,我被卡住了。你能帮帮忙吗?

在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>

最新更新