> Java > java지도 시간 > 'SimpleDateFormat'의 'Y'는 2012를 반환하고 'y'는 2011을 반환하는 이유는 무엇입니까?

'SimpleDateFormat'의 'Y'는 2012를 반환하고 'y'는 2011을 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-28 02:52:13
원래의
505명이 탐색했습니다.

Why Does `SimpleDateFormat`'s

SimpleDateFormat에서 'Y'가 2012년을 반환하는 반면 'y'는 2011년을 반환하는 이유

SimpleDateFormat은 다양한 패턴을 사용하여 날짜 형식을 지정하는 옵션을 제공합니다. 두 가지 공통 패턴 'Y'와 'y'는 각각 주 연도와 연도를 나타냅니다. 그러나 이들의 행동은 혼란스러울 수 있습니다.

'Y'와 'y'의 차이

  • 'y': 일반적으로 범위는 00~99입니다. 각 달력이 시작될 때 00으로 재설정됩니다. year.
  • 'Y': WEEK_OF_YEAR 주기에 맞춰 정렬된 주 연도를 나타냅니다. Java 문서에 설명된 대로 주 연도는 달력 연도와 겹칠 수 있습니다.

    주 연도는 WEEK_OF_YEAR 주기와 동기화됩니다. 첫 번째 주와 마지막 주(포함) 사이의 모든 주는 동일한 주 연도 값을 갖습니다. 따라서 한 주의 첫날과 마지막 날의 역년 값이 다를 수 있습니다.

예제 설명

주어진 예에서 'y'는 현재 날짜가 2012년 1월 초이므로 2011을 반환합니다. 그러나 2012년 1월을 포함하는 주 연도(WEEK_OF_YEAR 주기)가 2011년 말까지 연장되므로 'Y'는 2012를 반환합니다. 문서에서는 달력 연도의 첫 번째 날이 이전 주 연도에 속할 수 있다고 설명합니다.

예제 코드

SimpleDateFormat sdf = new SimpleDateFormat("Y");
Date date = new Date(); // Current date

// Print the week year (2012)
System.out.println(sdf.format(date));

sdf = new SimpleDateFormat("y");

// Print the calendar year (2011)
System.out.println(sdf.format(date));
로그인 후 복사

위 내용은 'SimpleDateFormat'의 'Y'는 2012를 반환하고 'y'는 2011을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿