Java/자바 정리

112. 날짜와 시간, 보기 좋게 출력해보자 – Date와 SimpleDateFormat

코딩하는냥이 2025. 5. 14. 12:09
반응형

이번 글에서는 자바에서 현재 날짜와 시간을 가져와 원하는 형식으로 출력하는 방법을 배워봅니다.
Date 객체는 시스템의 현재 시간을 표현하고, SimpleDateFormat은 이 시간을 지정한 문자열 형태로 포맷팅할 수 있도록 도와줍니다.


📌 예제 코드

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateExample {
    public static void main(String[] args) {
        Date now = new Date();                    // 현재 시간 생성
        String strNow = now.toString();           // 기본 문자열 형식
        System.out.println(strNow);               // 예: Tue May 14 10:32:17 KST 2025

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 E요일 HH시 mm분 ss초");
        strNow = sdf.format(now);                 // 지정 형식으로 변환
        System.out.println(strNow);               // 예: 2025년 05월 14일 수요일 10시 32분 17초
    }
}

💻 실행 결과 (날짜/시간은 실행 시점에 따라 달라짐)

Tue May 14 10:32:17 KST 2025
2025년 05월 14일 수요일 10시 32분 17초

💬 코드 설명

  • Date now = new Date()는 현재 시각 정보를 포함한 Date 객체를 생성합니다.
  • now.toString()은 시스템 기본 포맷으로 출력하며, 언어 및 운영체제 설정에 따라 달라질 수 있는 포맷입니다.
  • SimpleDateFormat은 날짜와 시간 포맷을 직접 지정할 수 있는 클래스입니다.
    • "yyyy년 MM월 dd일 E요일 HH시 mm분 ss초" 형식을 사용해 년/월/일/요일/시간 정보를 한글 형식으로 포맷합니다.
  • sdf.format(now)는 Date 객체를 해당 포맷 문자열에 맞게 변환해 출력합니다.

💡 포인트 정리

  • Date 클래스는 현재 날짜와 시간을 표현하는 객체입니다.
  • SimpleDateFormat은 날짜 포맷을 지정해 날짜 정보를 보기 좋게 문자열로 출력할 수 있게 해줍니다.
  • 주요 포맷 기호:
    • yyyy : 연도, MM : 월, dd : 일
    • E : 요일, HH : 24시간 시, mm : 분, ss : 초
  • 날짜/시간 포맷은 원하는 언어나 표시 형식에 맞게 자유롭게 커스터마이징 가능합니다.

📌 정리하자면, Date와 SimpleDateFormat을 함께 사용하면 현재 날짜와 시간을 원하는 형태의 문자열로 쉽게 출력할 수 있습니다.
직관적이고 읽기 쉬운 포맷으로 시간 정보를 출력하면 로그 기록, UI 출력, 사용자 알림 등에 매우 유용하게 활용할 수 있습니다.