1. View 확인

데이터를 insert 할 때
Timestamp
를 사용하면 불필요한 시간이 포함된다.
이를 시-분 까지 표시되도록 변경한다.2. 라이브러리 설치
날짜 포맷 바꿔주는 라이브러리
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.0'
자열 조작, 숫자 조작, 날짜 및 시간 조작, 리플렉션(reflection) 및 클래스 조작, 예외 처리할 수 있다.
3. JUnit 테스

import org.apache.commons.lang3.time.DateFormatUtils;
import org.junit.jupiter.api.Test;
import java.sql.Timestamp;
import java.util.Date;
public class DataTest {
@Test
public void format_test(){
//timestamp 객체를 초기
Timestamp currentTimestamp = new Timestamp(System.currentTimeMillis());
// Timestamp를 Date 객체로 변환
Date currentDate = new Date(currentTimestamp.getTime());
// 원하는 포맷으로 날짜를 변환
String formattedDate = DateFormatUtils.format(currentDate, "yyyy-MM-dd HH:mm");
// 포맷된 날짜 출력
System.out.println("Formatted Date: " + formattedDate);
}
}

4. Date Util 만들기
util/MyDateUtil
import org.apache.commons.lang3.time.DateFormatUtils;
import java.sql.Timestamp;
import java.util.Date;
public class MyDateUtil {
public static String timestampFormat(Timestamp time){
// Timestamp를 Date 객체로 변환
Date currentDate = new Date(time.getTime());
// 원하는 포맷으로 날짜를 변환
return DateFormatUtils.format(currentDate, "yyyy-MM-dd HH:mm");
}
}
5. Entity 생성자 만들기
import jakarta.persistence.*;
import lombok.Data;
import shop.mtcoding.blog.util.MyDateUtil;
import java.sql.Timestamp;
@Entity
@Data
@Table(name = "board_tb")
public class Board {
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
private Integer id;
private String title;
private String content;
private String username;
private Timestamp createdAt;
//time 생성자를 호출하면 createdAt 의 포맷이 변경
public String getTime(){
return MyDateUtil.timestampFormat(createdAt);
}
}
6. View 출력
{{#boardList}}
<div class="card mb-3">
<div class="card-body">
<h4 class="card-title">{{title}}</h4>
<div class="mb-3">{{time}}</div>
<a href="/board/{{id}}" class="btn btn-primary">상세보기</a>
</div>
</div>
{{/boardList}}
createdAt 대신 time 을 넣으면
getTime
생성자 호출된다.
Share article