Spring Boot 의 기본 템플릿 엔진은 Thymeleaf 로 사용되고 있습니다.
Jpa 의 저장 또한 LocalDateTime 으로 아래처럼 사용하고 있습니다.
일반적인 방법으로는 java.util.date 객체를 사용하고 있지만 Java8 에서는 LocalDateTime 을 사용하도록 권장하고 있기때문에 Format 방식도 조금 다르게 진행합니다.
그래서 간단하게 Thymeleaf 3.0에서 Format하는 방식을 설명하겠습니다.
백엔드에서 아래와같이 model로 넘기는 가정으로 진행하겠습니다.
model.addAttribute("standardDate", new Date());
model.addAttribute("localDateTime", LocalDateTime.now());
model.addAttribute("localDate", LocalDate.now());
model.addAttribute("timestamp", Instant.now());
날짜 가 어떻게 백엔드쪽에 설정 되었는지에 상관없이 , 그것은 선택된 표준에 따라 보여 질 것입니다.
standardDate는 #에 의해 처리 될 것입니다 날짜 유틸리티입니다. 새로운 LocalDateTime, LocalDate 및 Instant 클래스는 # temporals 유틸리티에 의해 처리됩니다 .
<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>
자동으로 하지 않고 원하는 format을 설정하는 방식입니다.
<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>
# temporals.format (...)을 사용 하여 Instant 클래스를 처리 할 수 없습니다 .
UnsupportedTemporalTypeException 이 발생 합니다. 또한 LocalDate의 서식 지정은 특정 날짜 필드 만 지정하고 시간 필드를 건너 뛰는 경우에만 가능합니다.
자세한 설명은 아래의 url을 통해 확인하실수 있습니다.
'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] Thymeleaf 3 String 날짜 Format (0) | 2019.05.22 |
---|---|
[Spring] Thymeleaf Number Format (0) | 2019.05.21 |
[Spring] Spring Security에서 'X-Frame-Options'응답 헤더 설정 (0) | 2019.05.07 |
[Spring] Thymeleaf Layout 상속 (0) | 2019.05.03 |
[Spring] Spring Boot 2 Multiple DataSource (7) | 2019.04.30 |