'2025/01'에 해당되는 글 1건

 

Java에서 날짜 포맷을 사용 시 SimpleDateFormat class를 사용하게 됩니다. 

이때 연도를 표현할때 "yyyy" 와 "YYYY"  차이을 이해하고 사용하는것이 중요 합니다. 

이 글에서는 두 형식의 차이점과 어떤 상황에서 사용해야 하는지를 설명하겠습니다. 


▶ yyyy 와 YYYY의 차이점

  1. yyyy (Calendar Year)
    • 설명: 일반적인 연도를 표기
      • 달 단위의 연도 표기
    • 동작: 날짜 객체의 실제 연도를 표기
      • 예) 2024.12.29 > yyyy로 표기하면 2024가 리턴 됨
    • 일반적으로 연도 데이터를 표기할때 가장 많이 사용 되는 형식
    • "yyyyMMdd" 형식을 기본으로 숙지하면 됩니다!
  2. YYYY (Week Year)
    • 설명: ISO-8601 주 연도를 표기
      • 주 연도는 해당 날짜가 속한 주를 기준으로 계산되는 연도
      • 한 해의 첫 번째 주는 1월 4일을 포함하는 주로 정의
      • 주 기반 데이터를 다룰 때에만 사용
    • 동작: 해당 날짜가 속한 주의 연도를 리턴
      • 연말 / 연초에 연도가 주단위로 변경 됨

2024.12.29 ~ 2024.12.31 ▷ 2025.12.29 ~ 2025.12.31 로 리턴

 

2026.01.01 ~ 2026.01.03 ▷ 2025.01.01 ~ 2025.01.03 로 리턴

 


▶ 사용 예

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.text.SimpleDateFormat;
import java.util.Calendar;
 
public class YearFormatExample {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
 
        // 2024년 12월 31일로 설정했습니다. 해당 날짜를 기준으로 결과를 확인합니다.
        calendar.set(20241131);
 
        // yyyy 사용
        SimpleDateFormat sdfYyyy = new SimpleDateFormat("yyyy.MM.dd");
        System.out.println("달력 연도: " + sdfYyyy.format(calendar.getTime())); // 달력 연도: 2024.12.31
 
        // YYYY 사용
        SimpleDateFormat sdfYYYY = new SimpleDateFormat("YYYY.MM.dd");
        System.out.println("주 연도: " + sdfYYYY.format(calendar.getTime())); // 주 연도: 2025.12.31
    }
}
cs

 


▶ 결론

  • 일반적인 경우라면 yyyy 포맷을 사용하는 것이 기본입니다. 
  • 프로젝트 별 주단위 연도를 끊어야 하는 경우가 있는데요. 이런 경우에만 YYYY 포맷을 사용하면 됩니다.

 

블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,