inblog logo
|
LHS's Study Space
    스프링부트

    [스프링 부트] 15. 날짜 포맷 변환 유틸 구현

    lhs's avatar
    lhs
    Nov 18, 2024
    [스프링 부트] 15. 날짜 포맷 변환 유틸 구현
    Contents
    1. 유틸 패키지 만들기2. MyDate3. MyDateTest4. MyDate 적용
     

    1. 유틸 패키지 만들기

    notion image
    • 패키지 이름 앞에 언더바를 붙여 _core 패키지를 만들어, 이를 제일 위로 정렬되게 한다.
    • .keep 파일은 프로젝트에서 패키지 구조를 명확히 하기 위해 _core 패키지 안에 둔다.
    • _core 패키지 안에 util 패키지를 만들고, 그 안에 MyDate.java 클래스를 생성한다.

    2. MyDate

    public class MyDate { public static String formatToStr(Timestamp createdAt){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); String formattedDate = sdf.format(createdAt); return formattedDate; } }
    • 날짜 관련 기능을 재사용 가능하게 모은 유틸리티 클래스이다.
    • static을 사용하여 객체를 생성할 필요 없이 메서드를 클래스 이름으로 직접 호출할 수 있게 했다.
    • SimpleDateFormat("yyyy.MM.dd") : 날짜 형식을 지정하여 날짜를 문자열로 변환하는 클래스의 생성자
      • "yyyy.MM.dd" : 날짜를 2024.11.18과 같이 연도(4자리), 월(2자리), 일(2자리) 형식으로 변환하는 패턴
    • format() : Timestamp 타입의 데이터를 sdf의 패턴을 사용해 문자열로 변환하는 메서드

    3. MyDateTest

    public class MyDataTest { @Test public void formatToStr() { // given Timestamp createdAt = new Timestamp(System.currentTimeMillis()); // when SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); String formattedDate = sdf.format(createdAt); // eye(then) System.out.println(formattedDate); } }
    • 메서드를 테스트하기 위한 테스트 클래스이다.
    • 테스트의 3가지 단계
      • given : 테스트를 위한 입력 값을 설정하는 단계
        • Timestamp 타입의 데이터를 현재 시간으로 생성하여 메서드에 전달할 입력값을 준비한다.
      • when : 테스트할 메서드를 실행하는 단계
        • Timestamp 타입의 데이터를 "yyyy.MM.dd" 형식의 문자열로 변환하는 메서드를 실행한다.
      • then : 결과를 검증하는 단계
        • 출력으로 결과를 검증하는 방식으로 대체하였다.

    4. MyDate 적용

    @Data public static class DetailDTO { private int id; private String title; private String content; private String createdAt; public DetailDTO(Board board) { this.id = board.getId(); this.title = board.getTitle(); this.content = board.getContent(); this.createdAt = MyDate.formatToStr(board.getCreatedAt()); } }
    BoardResponse.java
    • BoardResponse의 내부 클래스 DetailDTO에서 createdAt 필드를 MyDate 클래스의 formatToStr 메서드를 사용하여 지정된 날짜 형식으로 변환하였다.
    Share article
    Contents
    1. 유틸 패키지 만들기2. MyDate3. MyDateTest4. MyDate 적용

    LHS's Study Space

    RSS·Powered by Inblog