IsoFields — ISO-8601 전용 필드와 단위

IsoFields — ISO-8601 전용 필드와 단위

분기(quarter-of-year)와 주 기반 연도(week-based-year) 등 ISO-8601 달력 체계에 특화된 필드와 단위를 정의하는 클래스예요.

출처: Java API Reference

본문

시그니처

public final class IsoFields extends Object

이 클래스는 불변(immutable)이며 스레드 안전(thread-safe)해요.

분기 (Quarter of year)

ISO-8601 표준은 표준 민간 12개월 연도를 기반으로 해요. 이는 흔히 Q1, Q2, Q3, Q4로 약칭되는 네 분기로 나뉘어요.

  • 1월, 2월, 3월은 Q1
  • 4월, 5월, 6월은 Q2
  • 7월, 8월, 9월은 Q3
  • 10월, 11월, 12월은 Q4

완전한 날짜는 세 필드로 표현돼요:

  • DAY_OF_QUARTER — 분기 내 일, 1에서 90, 91 또는 92
  • QUARTER_OF_YEAR — 연도 내 분기, 1에서 4
  • YEAR — 표준 ISO 연도

주 기반 연도 (Week based years)

ISO-8601 표준은 원래 날짜와 시간의 문자열 형식을 정의하는 데이터 교환 형식으로 의도되었어요. 그러나 주 기반 연도 개념을 기반으로 날짜를 표현하는 대안적인 방식도 정의해요.

날짜는 세 필드로 표현돼요:

  • DAY_OF_WEEK — 월요일(1)에서 일요일(7)까지의 요일을 정의하는 표준 필드
  • WEEK_OF_WEEK_BASED_YEAR — 주 기반 연도의 주
  • WEEK_BASED_YEAR — 주 기반 연도

주 기반 연도 자체는 표준 ISO proleptic 연도에 상대적으로 정의돼요. 표준 연도와 달리 항상 월요일에 시작해요. 주 기반 연도의 첫 주는 새 해에 최소 4일이 있는 표준 ISO 연도의 첫 월요일 기반 주예요. 예를 들어 1월 1일이 월요일이면 주 1이 1월 1일에 시작하고, 화요일이면 이전 표준 연도의 12월 31일에 시작해요.

주요 필드·단위

  • QUARTER_OF_YEAR — 분기 필드
  • DAY_OF_QUARTER — 분기 내 일 필드
  • WEEK_OF_WEEK_BASED_YEAR — 주 기반 연도의 주 필드
  • WEEK_BASED_YEAR — 주 기반 연도 필드
  • WEEK_BASED_YEARS — 주 기반 연도 단위

더 알아보기 (Learn more)