유틸리티 객체와 날짜

학습 페이지

타임리프는 문자, 숫자, 날짜, URL등을 편리하게 다루기 위한 다양한 유틸리티 객체들을 제공한다.

Untitled

종류가 많기 때문에 이를 다 외울 필요는 없다. 객체마다 메서드를 다 외울수도 없다. JAVA8에 맞춤 유틸리티 객체들만 보자.

참고로 튜토리얼 예시는 다음과 같다. 필요할때 참고하자.

  1. 타임리프 유틸리티 객체 종류

    Tutorial: Using Thymeleaf

  2. 타임리프 유틸리티 객체 예시

    Tutorial: Using Thymeleaf

어떤 유틸리티 객체든 사용할때 #을 붙이면 된다.

자바8 날짜 객체

위 튜토리얼에는 자바8부터 추가된 날짜 객체들이 보이지 않는다. 하지만 스프링 부트에 자바8 날짜용 유틸리티 객체들이 포함되어있다.

    @GetMapping("/date")
    public String date(Model model){
        model.addAttribute("localDateTime", LocalDateTime.now());
        return "basic/date";
    }
<!DOCTYPE html>
<html xmlns:th="<http://www.thymeleaf.org>">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>LocalDateTime</h1>
<ul>
    <li>default = <span th:text="${localDateTime}"></span></li>
    <li>yyyy-MM-dd HH:mm:ss = <span th:text="${#temporals.format(localDateTime,'yyyy-MM-dd HH:mm:ss')}"></span></li>
</ul>
<h1>LocalDateTime - Utils</h1>
<ul>
    <li>${#temporals.day(localDateTime)} = <span th:text="${#temporals.day(localDateTime)}"></span></li>
    <li>${#temporals.month(localDateTime)} = <span th:text="${#temporals.month(localDateTime)}"></span></li>
    <li>${#temporals.monthName(localDateTime)} = <span th:text="${#temporals.monthName(localDateTime)}"></span></li>
    <li>${#temporals.monthNameShort(localDateTime)} = <span th:text="${#temporals.monthNameShort(localDateTime)}"></span></li>
    <li>${#temporals.year(localDateTime)} = <span th:text="${#temporals.year(localDateTime)}"></span></li>
    <li>${#temporals.dayOfWeek(localDateTime)} = <span th:text="${#temporals.dayOfWeek(localDateTime)}"></span></li>
    <li>${#temporals.dayOfWeekName(localDateTime)} = <span th:text="${#temporals.dayOfWeekName(localDateTime)}"></span></li>
    <li>${#temporals.dayOfWeekNameShort(localDateTime)} = <span th:text="${#temporals.dayOfWeekNameShort(localDateTime)}"></span></li>
    <li>${#temporals.hour(localDateTime)} = <span th:text="${#temporals.hour(localDateTime)}"></span></li>
    <li>${#temporals.minute(localDateTime)} = <span th:text="${#temporals.minute(localDateTime)}"></span></li>
    <li>${#temporals.second(localDateTime)} = <span th:text="${#temporals.second(localDateTime)}"></span></li>
    <li>${#temporals.nanosecond(localDateTime)} = <span th:text="${#temporals.nanosecond(localDateTime)}"></span></li>
</ul>
</body>
<

Untitled

위 HTML을 보면 알 수 있듯이.. temporals라는 자바8날짜 객체만 해도 무지막지한 메서드를 지원해주고 있다.