728x90
반응형

사이트에 따라서 날짜를 Database에 저장하는 방법이 조금씩 다릅니다.

 

TimeStemp로 하거나 Date로 하거나 String으로 저장하기도 하죠.

 

때에 따라서 Client에서 보여주는 Thymeleaf 에서 Format을 해야합니다.

 

 

 

 

일반적인 LocalDateTime 형태의 객체를 변환하려면 아래와 같이 한다는것을 쉽게 찾아볼 수 있습니다.

<td th:text="${#temporals.format(user.crtDtm, 'yyyy-MM-dd HH:mm')}"></td>

 

 

 

하지만 String 문자로 저장된 날짜를 yyyy-MM-dd 형태로 출력하려는 방법을 찾아보니 잘 나오지 않았습니다.

 

이런 형태로 하라는 글도 있었는데 너무 길고 지저분해 보이죠..

<th:block th:with="sdf = ${new java.text.SimpleDateFormat('yyyy-MM-dd''T''HH:mm:ss')}">
    <p th:text="${#dates.format(sdf.parse(myData.mdProperties.get('completionDate')), 'dd-MM-yyyy')}" />
</th:block>

 

 

늘 그렇지만 레퍼런스를 봐야겠다고 생각하고 들어갔지만 Thymeleaf Doc 은 간단한것만 나와있고 코드를 찾아가면서 분석해야합니다.

 

그냥 IntelliJ 자동완성기능을 사용하여 찾았습니다..

 

 

 

이렇게 작성해주었고. 내용은 '20190516' 이렇게 저장이 되있는 값을 사용했습니다.

 

현재 형식대로 두번째 인자값으로 넣으주면 기본 format 형태인 yyyy-MM-dd 로 출력이 됩니다.

<td th:text="${#temporals.createDate(user.crtDtm, 'yyyyMMdd')}"></td>

 

어렵지 않는 내용은 검색보단 직접 찾아보는게 빠를때도 있다는것을 다시 느끼게 해주는 시간이었습니다.

 

728x90
반응형
728x90
반응형

 

Thymeleaf 를 구현하다보면 표현식을 꼭 사용하게 됩니다.

 

기본적으로 지원하는 Number Format 함수를 알아보겠습니다.

 

아래의 내용은 Thymeleaf3.0 버전 기준으로 작성되었습니다.

 

 

 

정수 최소값 설정

Array, List, Set또한 설정이 가능합니다.

 

ex) 100 or 001

 

${#numbers.formatInteger(num,3)}

${#numbers.arrayFormatInteger(numArray,3)}

${#numbers.listFormatInteger(numList,3)}

${#numbers.setFormatInteger(numSet,3)}

 

 

 

 

최소 정수 자릿수와 천단위 구분 기호 설정

Array, List, Set또한 설정이 가능합니다.

 

구분자로는 ‘POINT’, ‘COMMA’, ‘WHITESPACE’, ‘NONE’, ‘DEFAULT’  가 있습니다.

 

${#numbers.formatInteger(num,3,'POINT')}

${#numbers.arrayFormatInteger(numArray,3,'POINT')}

${#numbers.listFormatInteger(numList,3,'POINT')}

${#numbers.setFormatInteger(numSet,3,'POINT')}

 

 

 

 

정수, 소수의 최소값 과 자릿수 설정

Array, List, Set또한 설정이 가능합니다.

 

${#numbers.formatDecimal(num,3,2)}

${#numbers.arrayFormatDecimal(numArray,3,2)}

${#numbers.listFormatDecimal(numList,3,2)}

${#numbers.setFormatDecimal(numSet,3,2)}

 

 

 

 

정수, 소수 최소값과 천단위 구분기호 설정

Array, List, Set또한 설정이 가능합니다.

 

${#numbers.formatDecimal(num,3,2,'COMMA')}

${#numbers.arrayFormatDecimal(numArray,3,2,'COMMA')}

${#numbers.listFormatDecimal(numList,3,2,'COMMA')}

${#numbers.setFormatDecimal(numSet,3,2,'COMMA')}

 

 

 

 

정수, 소수 설정후 각각의 천단위 구분기호 설정

Array, List, Set또한 설정이 가능합니다.

 

${#numbers.formatDecimal(num,3,'POINT',2,'COMMA')}

${#numbers.arrayFormatDecimal(numArray,3,'POINT',2,'COMMA')} ${#numbers.listFormatDecimal(numList,3,'POINT',2,'COMMA')}

${#numbers.setFormatDecimal(numSet,3,'POINT',2,'COMMA')}

 

 

 

 

통화 환율 설정

${#numbers.formatCurrency(num)}

${#numbers.arrayFormatCurrency(numArray)}

${#numbers.listFormatCurrency(numList)}

${#numbers.setFormatCurrency(numSet)}

 

 

 

 

퍼센트 설정

${#numbers.formatPercent(num)}

${#numbers.arrayFormatPercent(numArray)}

${#numbers.listFormatPercent(numList)}

${#numbers.setFormatPercent(numSet)}

 

 

 

정수, 소수 최소값 설정 후 퍼센트 설정

${#numbers.formatPercent(num, 3, 2)}

${#numbers.arrayFormatPercent(numArray, 3, 2)}

${#numbers.listFormatPercent(numList, 3, 2)}

${#numbers.setFormatPercent(numSet, 3, 2)}

 

 

 

 

유틸리티 메서드

x 에서 y까지 정수의 시퀀스 생성

 

${#numbers.sequence(from,to)}

${#numbers.sequence(from,to,step)}

 

 

 

 

공식적으로 Thymeleaf에서 지원하는 Number Format 함수를 알아보았습니다.

 

728x90
반응형

+ Recent posts