Thymeleaf 如何支持java8的時間LocalDate和LocalDatetime


一、添加依賴

<dependency>

    <groupId>org.thymeleaf.extras</groupId>

    <artifactId>thymeleaf-extras-java8time</artifactId>

    <version>3.0.0.RELEASE</version>

</dependency>

 

 

二、測試model

  對比新老時間用法,也就是java.util and java.time這兩個包的時間處理差別。

model.addAttribute("standardDate", new Date()); 
model.addAttribute("localDateTime", LocalDateTime.now());
model.addAttribute("localDate", LocalDate.now());
model.addAttribute("timestamp", Instant.now());

 

三、格式化日期,使用ISO8601 format

<h1>Format ISO</h1>

<p th:text="${#dates.formatISO(standardDate)}"></p>

<p th:text="${#temporals.formatISO(localDateTime)}"></p>

<p th:text="${#temporals.formatISO(localDate)}"></p>

<p th:text="${#temporals.formatISO(timestamp)}"></p>

 

輸出:

 

四、手動指定日期格式

<h1>Format manually</h1>

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

 

輸出:

 

 

五、獲取特定日期字段和屬性

java.util.Date class中使用:

${#dates.day(date)}

${#dates.month(date)}

${#dates.monthName(date)}

${#dates.monthNameShort(date)}

${#dates.year(date)}

${#dates.dayOfWeek(date)}

${#dates.dayOfWeekName(date)}

${#dates.dayOfWeekNameShort(date)}

${#dates.hour(date)}

${#dates.minute(date)}

${#dates.second(date)}

${#dates.millisecond(date)}

 

在java8的java.time中使用:

${#temporals.day(date)}

${#temporals.month(date)}

${#temporals.monthName(date)}

${#temporals.monthNameShort(date)}

${#temporals.year(date)}

${#temporals.dayOfWeek(date)}

${#temporals.dayOfWeekName(date)}

${#temporals.dayOfWeekNameShort(date)}

${#temporals.hour(date)}

${#temporals.minute(date)}

${#temporals.second(date)}

${#temporals.millisecond(date)}

 

用法:

<h1>Show only which day of a week</h1>

<p th:text="${#dates.day(standardDate)}"></p>

<p th:text="${#temporals.day(localDateTime)}"></p>

<p th:text="${#temporals.day(localDate)}"></p>

 

 

<h1>Show the name of the week day</h1>

<p th:text="${#dates.dayOfWeekName(standardDate)}"></p>

<p th:text="${#temporals.dayOfWeekName(localDateTime)}"></p>

<p th:text="${#temporals.dayOfWeekName(localDate)}"></p>

 

<h1>Show the second of the day</h1>

<p th:text="${#dates.second(standardDate)}"></p>

<p th:text="${#temporals.second(localDateTime)}"></p>

 

 

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM