[Java] LocalDateTime 형식 변환하기

2025. 2. 12. 11:11·Language

 

 

 

Java에서 날짜와 시간 데이터를 다루는 것은 다양한 애플리케이션 개발에서 필수적인 요소입니다.

특히 LocalDateTime 클래스는 날짜와 시간의 복합적인 데이터를 관리하기 위한 대표적인 클래스입니다.

 

하지만 LocalDateTime은 그대로 출력하면 사람이 읽기 어렵거나, 원하는 형식과 맞지 않을 때가 많습니다.

예를 들어, “2025-02-12T14:30:00”처럼 나오는 날짜 형식은 사용자가 보기 불편할 수 있습니다.

 

이를 해결하기 위해 날짜 형식을 보기 좋은 문자열 형태로 변환하는 방법이 유용하게 사용됩니다.

 

이 글에서는 DateTimeFormatter 를 활용해 LocalDateTime을 사용자 친화적인 형식으로 변환하는 방법과

실전 코드에서 이를 효율적으로 적용하는 사례를 다루겠습니다.

 

 

 


 

 

 

🔍 LocalDateTime와 DateTimeFormatter

 

LocalDateTime 클래스는 날짜와 시간 정보를 동시에 다루기 위한 Java 클래스입니다.

그러나 기본적으로 제공되는 형식은 2025-02-12T14:30:00처럼 ISO 8601 표준 형식으로 출력됩니다.

이런 형식은 프로그램 내부에서는 유용할 수 있지만, 사용자 인터페이스에서 보기에는 직관적이지 않을 수 있습니다.

 

Java에서는 DateTimeFormatter 클래스를 통해 날짜 및 시간 데이터를 원하는 형식의 문자열로 변환할 수 있습니다.

 

@Getter
public class ResponseDto {

    private final String createdAt;
    private final String updatedAt;

    public responseDto(LocalDateTime createdAt, LocalDateTime updatedAt) {
        this.createdAt = formatDate(createdAt);
        this.updatedAt = formatDate(updatedAt);
    }

    // 날짜 형식 변환 메서드
    private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
    
    public static String formatDate(LocalDateTime datetime) {
        return Optional.ofNullable(datetime)
                .map(FORMATTER::format)
                .orElse(null);
    }
}

 

 

 

(1) DateTimeFormatter 사용

`DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")` 로 원하는 형식의 패턴을 정의합니다

`ofPattern()` 메소드는 날짜와 시간을 특정 형식으로 포맷하는 패턴을 지정합니다.

 

다양한 변환 형식

패턴 출력 결과 설명
yyyy-MM-dd HH:mm 2025-01-01 14:30 날짜와 시간 표시
yyyy-MM-dd 2025-01-01 날짜만 표시
yyyy년 MM월 dd일 2025년 01월 01일 한국식 날짜 형식
HH:mm:ss 14:30:00 시간만 표시

 

 

 

(2) Optional을 활용한 안전한 처리

`Optional.ofNullable(datetime)`을 사용해 null 값에 대한 예외 처리를 방지합니다.

 

dateTime이 null 일 수도 있으므로, Optional로 감싸 처리합니다.

값이 존재할 경우 FORMATTER::format으로 변환하고, null일 경우 null을 반환합니다.

 

 

 


 

 

 

LocalDateTime 형식을 DateTimeFormatter와 Optional을 사용해 변환하면 사용자 친화적으로 데이터를 제공할 수 있습니다.

이를 통해 데이터 가독성 향상뿐 아니라 더 나은 사용자 경험을 보장할 수 있습니다.

 

💡 핵심 요약
• DateTimeFormatter를 사용해 원하는 날짜 형식으로 변환할 수 있습니다.
• Optional을 활용해 null 값을 안전하게 처리할 수 있습니다.
• 다양한 패턴을 적용해 국가별 또는 프로젝트 요구 사항에 맞는 날짜 형식을 구현할 수 있습니다.

 

 

 

728x90
저작자표시 비영리 변경금지
'Language' 카테고리의 다른 글
  • [Java] 자바 객체 지향 설계의 핵심: SOLID 원칙 완벽 가이드
leonie.
leonie.
  • leonie.
    leveloper
    leonie.
  • 글쓰기 관리
    • 분류 전체보기 N
      • Language
        • Java
      • Git
      • CS N
      • CodingTest
        • [프로그래머스] 자바
      • Framework
        • Spring
      • Information
      • DBMS
        • Redis
        • SQL
      • AWS
      • OS
        • Mac
      • 자격증
        • 정보처리기사
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    스프링
    코딩테스트
    JPA
    springboot
    Hibernate
    프로그래머스
    의존성주입
    Java
    자바
    알고리즘
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
leonie.
[Java] LocalDateTime 형식 변환하기
상단으로

티스토리툴바