목차

    개요

    프로젝트에서 커뮤니티 글의 작성 시간을 LocalDateTime 타입으로 저장하도록 되어 있었는데요. 게시글을 들어갔을 때 작성 시간을 알려주기 위해 LocalDateTime을 그대로 사용하면 년-월-일-시간-분(ms까지) 나오기 때문에 저희가 원하는 형태인 년.월.일 형태로 변경해서 응답을 보내주어야했습니다.

     

    DateTimeFormatter.ofPattern 사용하기

    개요

    LocalDateTime 타입에는 format 이라는 함수를 사용할 수 있습니다.

    DateTimeFormatter 타입의 값을 인자로 넣어 원하는 날짜 형식으로 변환하는 함수입니다.

     

    https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html

     

    이 때, DateTimeFormatter 타입의 ofPattern 함수를 사용하여 String으로 원하는 날짜 형식을 정할 수 있습니다. 원하는 날짜 형식은 주어진 Symbol을 따라 작성하면 됩니다.

    아래는 Symbol의 일부입니다. 사진의 출처사이트에 방문하시면 더 많은 Symbol을 확인하실 수 있습니다.

     

    https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

     

    https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

     

    예시

    우선 제게 주어진 요구사항과 같이 년.월.일 형태로 변경해보는 예시를 보겠습니다.

    LocalDateTime dateTime = LocalDateTime.now()를 통해 현재 시간을 저장하고 해당 타입을 년.월.일 형태로 변경하는 코드 입니다.

     

    이를 통해 출력된 결과는 아래와 같습니다.

     

    이번에는 다양한 타입의 형태를 출력하도록 해보겠습니다.

    연도를 나타내는 y Symbol의 개수를 조절해서도 서로 다른 형태로 나타낼 수 있고 월을 나타내는 M Symbol의 개수를 조절해서도 서로 다른 형태를 나타낼 수 있습니다.

    다양한 조합을 Documentation 내용을 참고해서 변경해보셔도 좋을 것 같습니다.

     

    다양한 Symbol 조합으로 만든 예시
    그 결과