1. 특징

    1. 이 어노테이션을 활용하면 날짜나 시간을 원하는 형식대로 객체로 변환받을 수 있습니다.
    2. DB저장과는 아무 상관 없다.(즉 이 어노테이션은 클라이언트로 보여줄때 쓸모가 있다.)
  2. 형식

    public class EventDto{
    
    	@DateTimeFormat(pattern = "yyy-MM-dd")
    	private LocalDate eventDate; //"2024-01-15"
    	
    	@DateTimeFormat(pattern = "yyyy/MM/dd")
    	private LocalDate startDate; // "2024/01/15"
    	
    	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    	private LocalDateTime eventDateTime; //"2024-01-15 14:30"
    	
    	@DateTimeFormat(pattern = "HH:mm:ss")
    	private LocalTime eventTime //"14:30:25"
    
    }
    
  3. 형식

    1. iso 속성

      import org.springframework.format.annotation.DateTimeFormat.ISO;
      
      public class IsoDateDto{
      
      	@DateTimeFormat(iso = ISO.DATE)
      	private LocalDate date; // "2024-01-15"
      	
      	@DataTimeFormat(iso = ISO.TIME)
      	private LocalTime time; // "14:30:25"
      	
      	@DateTimeFormat(iso = ISO.DATE_TIME)
      	private LocalDateTime dateTime; // "2024-01-15T14:30:25"
      	
      	@DateTimeFormat(iso = ISO.NONE)
      	private LocalDate customDate; // 기본값, 패턴 직접 지정 
      
      }
      
  4. 장점

    1. 자동으로 문자열을 날짜 객체로 변환
    2. 코드가 깔끔하고 가독성 좋음
    3. Spring의 다른 기능들과 잘 연동됨
  5. 단점

    1. 클라이언트에서 정확한 형식으로 데이터를 보내야 함
    2. 잘못된 형식 런타임 에러 발생
    3. 패턴을 잘못 지정하면 예상과 다른 결과
  6. LocalDate

    1. 특징
    2. 오직 날짜만을 표현한다. (년 월 일)
    3. 시간, 분 초 밀리초 같은 시간 정보는 포함하지 않습니다.
    4. 예를 들어, 생년월일이나 특정 날짜에서 필요할 때 사용합니다.
  7. LocalDateTime

    1. 날짜와 시간을 모두 표현합니다.
    2. 보다 정밀한 시간 정보가 필요할 때 사용됩니다.
    3. 이벤트의 정확한 시간 정보가 필요할 때 사용합니다.
    4. 이벤트의 정확한 시간이나 로그 데이터의 타임스탬프로 유용하게 쓰입니다.