簡體   English   中英

如何將 LocalDateTime yyyy-MM-dd HH:mm 解析為 dd-MM-yyyy HH:mm 作為字符串,以獲取不僅包含日期屬性的對象的整個列表?

[英]How to parse LocalDateTime yyyy-MM-dd HH:mm to dd-MM-yyyy HH:mm as String for a whole list of an object which contains not only a date attribute?

我正在嘗試解決一個似乎很棘手的問題,我陷入了困境。 你能幫忙嗎?

在 Spring Boot 中,我在 MySQL 數據庫上保留了一個用於國定假日的對象 Holiday。 對象 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;

(...)

但我對更新的屬性感興趣,例如,它在數據庫中存儲為 2021-10-26 20:54:48。 我想將它解析為 dd-MM-yyyy HH:mm 到 thymeleaf,但它由具有不同屬性的 Holiday 對象列表組成。

在控制器中,正在檢索列表如下:

@GetMapping("/getAllHolidays")
public String getAllHolidays(Model theModel) {
    List<Holiday> theHolidays = holidayService.findAll();
    theModel.addAttribute("holidays", theHolidays);
    return "holidays";
}

如何使用 DateTimeFormatter 僅解析為theHolidays列表中的所有假日對象更新的屬性?

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM