맨위로가기

ISO 8601

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

ISO 8601은 날짜와 시간의 표현 방식을 정의하는 국제 표준이다. 1988년에 처음 발표되었으며, 여러 차례 개정을 거쳐 ISO 8601-1:2019와 ISO 8601-2:2019로 분리되었다. 이 표준은 날짜와 시간을 연도, 월, 일, 시, 분, 초 순으로 정렬하며, 기본 형식과 확장 형식을 제공한다. 날짜 표기에는 그레고리력을 사용하며, 시간대 지정자를 포함할 수 있다. 또한, 기간, 시간 간격, 반복 간격 등을 표현하는 방법도 정의한다. 대한민국에서는 KS X ISO 8601 표준을 사용하며, 일본 산업 규격 JIS X 0301에서는 연호를 사용한 날짜 표기를 규정한다. ISO 8601은 RFC 3339와 같은 인터넷 표준 및 여러 프로그래밍 언어에서 구현되어 널리 사용된다.

2. 역사

ISO 8601 표준의 첫 번째 판은 1988년에 ''ISO 8601:1988''로 발행되었다. 이 표준은 날짜 및 시간 표기의 다양한 측면을 다루던 여러 이전 ISO 표준들, 즉 ISO 2014, ISO 2015, ISO 2711, ISO 3307, ISO 4031을 통합하고 대체하였다.[2]

이전 표준 중 ISO 2014는 모든 숫자로 된 날짜 표기법인 [YYYY]-[MM]-[DD] 형식을 처음 도입했으며, 이는 가장 중요한 단위부터 덜 중요한 단위 순서로 배열하는 방식이다. ISO 2015에서는 ISO 주 번호 매기기 시스템이 도입되었고, ISO 2711에서는 서수 날짜(연중 몇 번째 날인지)로 날짜를 식별하는 방법이 처음 정의되었다.

ISO 8601 표준은 이후 여러 차례 개정되었다.


  • 2000년: 두 번째 판인 ''ISO 8601:2000''으로 대체되었다.
  • 2004년: 12월 1일에 세 번째 판인 ''ISO 8601:2004''가 공개되었다.
  • 2019년: 2월 25일, 표준이 두 부분으로 나뉘어 ''ISO 8601-1:2019'' (기본 규칙)와 ''ISO 8601-2:2019'' (확장)로 개정되었다.[5] ''ISO 8601-1:2019''는 이전 ISO 8601:2004의 내용을 약간 업데이트했으며,[6][7] ''ISO 8601-2:2019''는 불확실성 표기나 확장 날짜/시간 형식 (EDTF)과 같은 다양한 확장 기능을 정의한다.[8][9][10][11][12][13]
  • 2022년: 10월, ''ISO 8601-1:2019/Amd 1:2022'' 수정안이 발행되었다. 이 수정안은 사소한 기술적 설명을 명확히 하고 정의의 모호성을 제거했으며, 특히 하루의 '마지막' 순간을 나타내기 위해 "24:00:00" 형식을 다시 도입했다.[68]


ISO 8601 표준은 ISO 기술 위원회 TC 154에서 준비했으며, 이 위원회의 직접적인 책임하에 있다.[3][4]

아래는 발행된 에디션 및 수정 사항의 연혁이다.

발행된 에디션 및 수정 사항 연혁
표준 번호설명
ISO 8601:1988[63]데이터 요소 및 교환 형식 — 정보 교환 — 날짜 및 시간 표현
ISO 8601:1988/COR 1:1991데이터 요소 및 교환 형식 — 정보 교환 — 날짜 및 시간 표현 — 기술 정오표 1
ISO 8601:2000[64]데이터 요소 및 교환 형식 — 정보 교환 — 날짜 및 시간 표현
ISO 8601:2004[65]데이터 요소 및 교환 형식 — 정보 교환 — 날짜 및 시간 표현
ISO 8601-1:2019[66]날짜 및 시간 — 정보 교환을 위한 표현 — 파트 1: 기본 규칙
ISO 8601-2:2019[67]날짜 및 시간 — 정보 교환을 위한 표현 — 파트 2: 확장
ISO 8601-1:2019/Amd 1:2022[68]날짜 및 시간 — 정보 교환을 위한 표현 — 파트 1: 기본 규칙 — 수정 1: 기술 수정


3. 기본 원칙

날짜와 시간 값은 가장 큰 시간 단위부터 가장 작은 시간 단위 순서로 정렬한다. 즉, 연도, (또는 ), , , , , 그리고 초의 소수점 이하 순서이다.[17] 이 방식은 표현의 사전식 순서가 시간 순서와 일치하도록 하여(음수 연도나 시간 오프셋 제외), 파일 시스템 등에서 날짜를 자연스럽게 정렬할 수 있게 한다.

각 날짜 및 시간 값은 고정된 자릿수를 가지며, 필요한 경우 앞에 선행 0을 붙여 자릿수를 맞춰야 한다.[17]

표현 방식은 두 가지가 있다. 최소한의 구분자를 사용하는 기본 형식과 가독성을 높이기 위해 구분자를 추가한 확장 형식이다.[17] 표준에서는 '일반 텍스트에서는 기본 형식을 피해야 한다'고 권고한다. 날짜 값(연도, , , ) 사이에는 하이픈(-)을 사용하고, 시간 값(, , ) 사이에는 콜론(:)을 사용한다.[17] 예를 들어, 2009년 1월 6일은 확장 형식으로 '2009-01-06'으로, 기본 형식으로는 '20090106'으로 모호함 없이 표기할 수 있다.[17] 날짜와 시각은 기호 '''T'''로 구분한다.

정밀도를 낮춰야 할 경우[17], 표현에서 일부 값을 생략할 수 있다. 단, 가장 중요도가 낮은 값(오른쪽)부터 생략해야 하며, 큰 단위가 앞에 오는 순서는 유지해야 한다.[17] 예를 들어, '2004-05'는 2004년 5월을 의미하며, 2004년의 특정되지 않은 달의 5일이나 2004년부터 2005년까지의 기간을 의미하지 않는다.[17]

필요에 따라 표현에서 가장 작은 시간 단위에 소수 분수를 사용할 수 있다.[17]

시간대는 UTC의 경우 마지막에 기호 '''Z'''를 붙여 표시한다. 다른 시간대는 플러스 기호(+) 또는 마이너스 기호(−)와 함께 UTC와의 시차(예: +09:00 또는 +0900)를 표기한다. 확장 형식에서는 시차를 hh:mm 형식으로, 기본 형식에서는 hhmm 형식으로 표기한다.

하나의 날짜-시간 표현 안에서 기본 형식과 확장 형식을 섞어 쓰는 것은 허용되지 않으며, 반드시 하나의 형식으로 통일해야 한다.

일반적으로 날짜 구분자로 슬래시(/)나 마침표(.)를 사용하기도 하지만, ISO 8601 표준에서는 날짜 구분자로 하이픈(-), 시간 구분자로 콜론(:)만을 사용한다. (단, 일본 연호 표기 등 일부 국가 규격에서는 예외가 있을 수 있다. #국가 규격에 의한 확장 참조)

많은 프로그래밍 언어는 확장 형식을 기본적으로 지원하지만, 기본 형식을 지원하는 경우는 상대적으로 적다.

날짜는 그레고리오력을 따르며, 1875년 5월 20일 미터 조약 조인일을 기준으로 한다.[70] 요일은 2000년 1월 1일토요일로 정의하며[71], 주의 시작은 월요일이다.[72]

4. 날짜 표기

이 표준은 "민간용 국제 표준"으로 사용되는 그레고리력을 사용한다.[18]

ISO 8601:2004는 Convention du Mètre|미터 협약fra파리에서 체결된 날짜인 1875년 5월 20일을 그레고리력의 기준 날짜로 정했다(ISO 8601-1:2019에서는 명시적인 기준 날짜가 삭제되었다). 그러나 협약 이전의 ISO 날짜도 1582년 10월 15일 그레고리력의 공식 도입까지 그레고리력과 호환된다.

선발 그레고리력의 이전 날짜는 정보 교환 파트너 간의 상호 합의에 의해 사용될 수 있다. 이 표준은 모든 날짜가 연속되어야 한다고 명시하고 있으므로, 율리우스력의 사용은 표준에 위배된다(전환 날짜에서는 날짜가 연속되지 않기 때문이다).

ISO 8601에서는 날짜를 지정하는 방법으로, 연-월-일 지정, 연-연간 날짜 번호 지정, 연-주-요일 지정의 3가지가 있다.

4. 1. 연도

ISO 8601은 2000년 문제를 피하기 위해 연도를 최소 네 자리 숫자 [YYYY]로 표기하도록 규정한다. 이에 따라 0000년부터 9999년까지의 연도를 나타낼 수 있다. 여기서 0000년기원전 1년(BCE)을 의미하며, 나머지 연도는 서기(CE)를 나타낸다. 이는 천문학적 연도 표기법과 유사하다.

다만, 그레고리력이 완전히 도입되기 전인 1583년 이전의 연도(0000년부터 1582년까지)는 표준에서 자동으로 허용되지 않으며, 정보를 주고받는 당사자 간의 상호 합의가 있을 경우에만 사용할 수 있다.[19][73] 날짜 표기는 그레고리력을 따르며, 이는 그레고리력이 공식적으로 도입된 1582년 10월 15일 이전의 날짜에도 소급 적용된다(선발 그레고리력 참조). 일반적으로 1582년 이전 날짜는 율리우스력으로 해석되기도 하지만, ISO 8601 표준은 이를 명시하지 않으므로, 이 표준을 따르려면 그레고리력으로 변환해야 한다.

0000년 이전이나 9999년 이후의 연도를 나타내야 할 경우, 표준은 연도 표현의 확장을 허용한다. 단, 이는 정보를 보내는 쪽과 받는 쪽 간의 사전 합의가 있어야만 가능하다.[20][74] 확장된 연도 표현 [±YYYYY]은 기본 4자리를 넘어 합의된 추가 자릿수를 가지며(즉, 최소 5자리 이상), 반드시 맨 앞에 양수(+) 또는 음수(-) 기호를 붙여야 한다. 이는 일반적인 AD/BC 또는 CE/BCE 표기법을 대신한다.[21] 관례에 따라 기원전 1년은 +0000으로, 기원전 2년은 −0001, 기원전 3년은 -0002 등으로 표기한다.[22] 이 역시 천문학적 기년법과 같다. 사전 합의에 따라, 확장 표기법을 사용하여 9999년 이전의 날짜를 표시하는 것을 금지할 수도 있다(예: '+009999'를 무효 처리).

4. 2. 날짜(연월일)

이 표준은 민간 사용을 위한 국제 표준을 지원하는 그레고리력을 사용한다. ISO 8601은 참조 달력 날짜를 파리에서 미터 협약(Convention du Mètre)이 체결된 날짜인 그레고리력 상의 1875년 5월 20일로 고정한다. 하지만 협약 이전의 ISO 달력 날짜는 여전히 1582년 10월 15일에 공식적으로 도입된 그레고리력과 호환된다. 선발 그레고리력에서의 초기 날짜는 정보를 교환하는 당사자 간의 상호 동의 하에 사용될 수 있다. 이 표준은 모든 날짜가 연속적으로 이어지므로, 율리우스력 사용은 표준에서 허용되지 않는다(날짜 전환 시 날짜가 연속되지 않기 때문이다).

ISO 8601에서는 날짜를 지정하는 방법으로, 연, 월, 일을 지정하는 방법, 연과 연간 일련번호를 지정하는 방법(서수 날짜), 연, 주, 요일을 지정하는 방법(주차 날짜)의 세 가지가 있다. 이 섹션에서는 연, 월, 일을 이용한 표기법을 다룬다.

날짜 표기에는 그레고리력을 사용하며, 이는 그레고리력이 도입된 1582년10월 15일 이전에도 소급 적용된다(선발 그레고리력 참조). 단, 0000년부터 1582년까지의 범위는 사전에 통신 당사자 간의 합의가 있는 경우에만 사용할 수 있다.[73] ISO 8601에는 1582년 이전 날짜를 율리우스력으로 해석하는 조항이 없으므로, 해당 날짜를 ISO 8601에 따라 표기하려면 그레고리력으로 변환해야 한다.

연도는 기본 형식이든 확장 형식이든 4자리 숫자로 표기한다.

  • 0000년 이전 또는 9999년 이후의 연도를 표기하려면 사전에 통신 당사자 간의 합의가 필요하다.[74] 예를 들어, 맨 앞에 양수 또는 음수 부호(+ 또는 -)를 붙여 임의 자릿수 숫자를 추가하는 합의가 가능하다. 이 경우 연도 자릿수는 5자리 이상이 될 수 있다.
  • 사전 합의에 따라, 추가된 부호와 자릿수를 사용하여 9999년 이전의 날짜를 표시하는 것을 금지할 수도 있다. 예를 들어 "+009999"를 무효로 처리할 수 있다.
  • 연도 표기에서 0000기원전 1년, -0001기원전 2년, -0002기원전 3년을 나타낸다. 이는 천문학적 기년법과 동일하다.


월(MM)은 01부터 12까지의 2자리 숫자로 표기하며, 각각 1월부터 12월을 나타낸다. 일(DD)은 해당 월의 날짜를 01부터 31까지의 2자리 숫자로 나타낸다.

달력 날짜 표기 형식
형식설명예시 (1981년 4월 5일)
YYYYMMDD기본 형식19810405
YYYY-MM-DD확장 형식1981-04-05
YYYY-MM연월만 표기 (확장 형식만 허용)1981-04 (1981년 4월)
YYYY연도만 표기1981 (1981년)
YY세기 표기 (예: 1900년대)19 (1900년~1999년)



달력 날짜는 위 표와 같이 기본 형식(YYYYMMDD) 또는 확장 형식(YYYY-MM-DD) 중 하나로 표기된다. 확장 형식은 연도가 처음에 오고 하이픈(-)으로 구분하여 가독성을 높인 표기법으로 자주 사용된다. 예를 들어, "1981년 4월 5일"은 확장 형식으로 "1981-04-05", 기본 형식으로 "19810405"로 표현될 수 있다.

표준은 정확도를 낮춰 날짜를 표기하는 것도 허용한다.


  • 연월만 표기할 경우, 확장 형식인 YYYY-MM만 사용할 수 있다. 예를 들어 "1981년 4월"은 "1981-04"로 표기한다. YYYYMM 형식은 허용되지 않는데, 이는 연도의 일부를 생략한 표기법(예: YYMMDD)과의 혼동을 막기 위함이다.
  • 연도만 표기할 경우 YYYY 형식으로 쓴다. 예를 들어 "1981"은 1981년을 의미한다.
  • 과거 표준(ISO 8601:2000)에서는 "--MM-DD" 또는 "--MMDD" 형식으로 연도를 생략하고 월과 일만 표기하는 것을 허용했으나(예: "--04-05"는 4월 5일), 2004년 개정판부터는 월 표기 시 연도 생략이 허용되지 않는다.
  • 두 자리 숫자(YY)로 세기를 나타내는 표기(예: "19"는 1900년부터 1999년까지)도 사용되기도 한다.

4. 3. 연중 일자

연중 일자는 날짜서수 형식으로 표현하는 방식으로, 해당 연도의 첫날부터 며칠째인지를 나타낸다. ISO 8601에서는 세 가지 날짜 지정 방법 중 하나로 연중 일자를 정의한다.

표기 형식은 YYYY-DDD (기본 형식) 또는 YYYYDDD (확장 형식)이다.

예를 들어, 1981년 4월 5일은 1981년의 95번째 날이므로 1981-095로 표기한다. 또한, 2004년의 92번째 날인 4월 1일2004-092 (또는 2004092)로 표기한다.

이 형식은 월이나 주의 구분이 불필요하거나 오히려 혼란을 줄 수 있는 경우, 예를 들어 서로 다른 달력 체계의 날짜를 비교할 때 유용하다. 또한, 날짜 시스템은 필요하지만 복잡한 달력 계산 기능 구현이 부담스러운 간단한 하드웨어 시스템 등에서도 사용된다.

주의할 점은 이 표기법이 때때로 '율리우스일'로 불리기도 하지만, 이는 천문학에서 사용하는 율리우스일(Julian Day)과는 다른 개념이므로 혼동해서는 안 된다. 천문학의 율리우스일은 기원전 4713년 1월 1일 정오부터 계산된 일련번호이다.

ISO 8601 표준은 그레고리력을 기반으로 하며, 율리우스력은 날짜 전환 시 연속성이 없어 사용하지 않는다.

4. 4. 주 단위 날짜

ISO 8601에서는 날짜를 연, 주차 번호, 요일 번호로 지정하는 방법도 제공한다. 이 표기법에서 연도는 일반적인 연도와 다를 수 있으며, POSIX의 `strftime` 함수에서 `%G` 형식 지정자가 이 특정 연도를 나타낸다. JIS X 0301에도 관련 예시가 있다.

주 단위 날짜는 확장 형식 `YYYY-Www-D` 또는 기본 형식 `YYYYWwwD`로 표기한다.

  • `YYYY`는 연도를 나타낸다.
  • `W`는 주(Week)를 의미하는 고정 문자이다.
  • `ww`는 연중 주차 번호로, 01부터 시작하여 52 또는 53까지 가능하다.
  • `D`는 요일 번호로, 월요일을 1로 시작하여 일요일을 7로 표기한다. 8이나 9는 사용되지 않는다.


예를 들어, `2004-W14-4` (기본 형식: `2004W144`)는 2004년의 제14주차 목요일을 의미하며, 이는 그레고리력으로 4월 1일에 해당한다.
제1주 정의ISO 8601에서 한 해의 제1주(01주)는 다음 두 가지 기준 중 하나로 정의되며, 두 기준은 동일한 결과를 나타낸다.

  • 그 해의 첫 번째 목요일을 포함하는 주
  • 1월 4일을 포함하는 주

연초 및 연말 처리이 정의에 따라 연초나 연말의 특정 날짜는 각각 전년도의 마지막 주 또는 다음 해의 첫 주로 계산될 수 있다.

연초/연말 날짜의 주 귀속
구분해당 날짜가 특정 요일일 경우귀속되는 주
연초1월 1일 금요일, 1월 2일 토요일, 1월 3일 일요일전년도 마지막 주
1월 1일 토요일, 1월 2일 일요일전년도 마지막 주
1월 1일 일요일전년도 마지막 주
연말12월 31일 월요일다음 해 제1주
12월 30일 월요일, 12월 31일 화요일다음 해 제1주
12월 29일 월요일, 12월 30일 화요일, 12월 31일 수요일다음 해 제1주



예를 들어, 1월 1일이 금요일, 토요일, 또는 일요일인 경우, 해당 날짜는 새해의 첫 주가 아니라 전년도 마지막 주의 일부로 간주된다. 마찬가지로, 12월 31일이 월요일, 화요일, 또는 수요일인 경우, 해당 날짜는 그 해의 마지막 주가 아니라 다음 해 첫 주의 일부로 간주된다.

5. 시간 표기

시간 표현은 24시간제만 사용하며, 12시간제 옵션은 존재하지 않는다.

시간은 기본 형식과 확장 형식 두 가지로 표기할 수 있다.


  • '''기본 형식:''' 구분자 없이 `hhmmss` 형태로 표기한다.
  • '''확장 형식:''' 시, 분, 초를 콜론(`:` )으로 구분하여 `hh:mm:ss` 형태로 표기한다.


각 요소는 다음 의미와 범위를 가진다.

  • `hh`: 시 ('''00'''부터 '''24'''까지의 값)
  • `mm`: 분 ('''00'''부터 '''59'''까지의 값)
  • `ss`: 초 ('''00'''부터 '''59'''까지의 값, 윤초가 있는 경우 '''60'''까지 가능)


표기 시 초(`ss`) 또는 분과 초(`mm:ss` 또는 `mmss`) 부분을 생략할 수 있다. 따라서 `hh:mm` (확장 형식) 또는 `hhmm` (기본 형식), 혹은 `hh` 형식만으로도 시간을 나타낼 수 있다.

가장 하위 요소(반드시 초가 아니어도 됨)에는 소수점 이하 값을 표기할 수 있다. 소수점 기호로는 콤마(`,`) 사용이 권장되지만, 마침표(`.`) 사용도 허용된다.

  • '''예시:'''
  • 18시 30분 9.57초: `18:30:09.57` (확장) 또는 `183009.57` (기본)
  • 18시 30.25분 (18시 30분 15초와 동일): `18:30.25` (확장) 또는 `1830.25` (기본). 이는 `18:30:15`와 같은 시간이다.
  • 18.7225시 (18시 43분 21초와 동일): `18.7225`. 이는 `18:43:21`과 같은 시간이다.


날짜가 바뀌는 자정은 두 가지 방식으로 표현할 수 있다. 하루의 시작은 `00:00`으로, 하루의 끝은 `24:00`으로 표기한다. 예를 들어, `2004-03-31T24:00`은 `2004-04-01T00:00`과 정확히 같은 시점을 나타낸다.

날짜와 시간을 함께 표기할 때는 날짜와 시간 사이에 대문자 '''T'''를 넣어 구분한다. 이때 날짜 부분과 시간 부분 모두 기본 형식을 사용하거나 모두 확장 형식을 사용해야 하며, 두 형식을 섞어 쓰는 것은 허용되지 않는다.[69]

  • '''기본 형식 예시:''' `YYYYMMDDThhmmss`
  • '''확장 형식 예시:''' `YYYY-MM-DDThh:mm:ss`


많은 프로그래밍 언어는 확장 형식의 날짜 및 시간 처리를 지원하지만, 기본 형식에 대한 지원은 상대적으로 적을 수 있다.

시간 표기 뒤에는 시간대 지정자를 붙여 UTC와의 관계를 명시할 수 있다.

5. 1. 시간대 지정자

ISO 8601 표준에서 시간대는 특정 위치를 지정하지 않은 현지 시간, UTC, 또는 UTC와의 오프셋으로 표현될 수 있다.

만약 시간 표기 뒤에 시간대 정보가 없다면, 그 시간은 현지 시간으로 간주된다. 같은 시간대 내에서는 현지 시간을 사용하는 것이 문제가 없을 수 있지만, 서로 다른 시간대 간의 소통에서는 혼란을 야기할 수 있다. 특히, 특정 지역이 일광 절약 시간제 (서머 타임)를 시행하는 경우, 단일 시간대 내에서도 현지 시간은 모호해질 수 있다. 따라서 시간대 지정자를 명확히 표기하는 것이 권장된다.

시간이 UTC 기준일 경우, 시간 값 뒤에 공백 없이 대문자 '''Z'''를 붙인다. 'Z'는 UTC 오프셋이 0임을 나타내는 지정자이다. 예를 들어, "09:30 UTC"는 "09:30Z" 또는 기본 형식으로 "0930Z"로 표기하며, "14:45:15 UTC"는 "14:45:15Z" 또는 기본 형식으로 "144515Z"로 표기한다. 'Z'는 줄루 시간대에서 유래하여 "줄루 시간(Zulu time)"이라고도 불린다.[30][31][32]

UTC 오프셋은 시간 값 뒤에 'Z' 대신 ±[hh]:[mm], ±[hh][mm], 또는 ±[hh] 형식으로 표기한다. '+' 기호는 UTC보다 시간이 빠른 경우(동쪽 시간대), '-' 기호는 UTC보다 시간이 느린 경우(서쪽 시간대)를 나타낸다.

  • '''양수 오프셋 (+):''' UTC보다 시간이 앞서는 경우 사용한다. 예를 들어, 카이로 시간은 UTC+2이므로 "+02:00", "+0200", 또는 "+02"로 표기한다. 일본 표준시(JST)는 UTC+9이므로 "+09:00" 또는 "+0900"으로 표기한다 (예: 2004-04-01T12:00+09:00).
  • '''음수 오프셋 (-):''' UTC보다 시간이 뒤처지는 경우 사용한다. 예를 들어, 뉴욕표준시UTC−05:00이므로 "−05:00", "−0500", 또는 "−05"로 표기한다. 음수 오프셋을 표기할 때는 하이픈-마이너스(-) 또는 마이너스 기호(−)를 사용한다. ASCII 환경과 같이 문자 세트가 제한된 경우 하이픈-마이너스(-)를 사용해야 한다. 유니코드는 마이너스 기호(U+2212)를 지원하며, HTML에서는 `−`로 표기한다. RFC 3339 표준은 음수 오프셋에 하이픈-마이너스(-) 사용을 명시하고 마이너스 기호(−) 사용을 허용하지 않는다는 점에서 ISO 8601과 차이가 있다.


UTC 시간을 계산하려면 현지 시간에서 오프셋 값을 빼야 한다. 예를 들어, "15:00−03:30"은 15시에서 -3시간 30분을 빼는 것이므로, 15:00 - (-03:30) = 18:30 UTC가 된다. 따라서 다음 시간 표기들은 모두 동일한 시점을 나타낸다: "18:30Z", "22:30+04", "1130−0700", "15:00−03:30".

UTC 오프셋이 0인 경우, 'Z' 외에도 "+00:00", "+0000", 또는 "+00"으로 표기할 수 있다. 하지만 음수 기호를 사용하여 "−00:00", "−0000", "−00" 등으로 표기하는 것은 ISO 8601 표준에서 허용되지 않는다. 0 또는 양수 값에는 '+' 기호를, 음수 값에는 '-' 기호를 사용해야 한다. 단, RFC 3339에서는 "-00" 표기를 다른 의미로 허용하기도 한다.

날짜와 시간 표기에는 기본 형식과 확장 형식이 있으며, 시간대 지정자는 두 형식 모두 동일한 규칙을 따른다.

  • '''기본 형식:''' YYYYMMDDThhmmss±hhmm (예: 20040401T1200+0900)
  • '''확장 형식:''' YYYY-MM-DDThh:mm:ss±hh:mm (예: 2004-04-01T12:00+09:00)

6. 날짜와 시간 조합

특정 시점을 나타내려면 완전한 날짜 표현, 구분 문자 '''T''' 그리고 유효한 시간 표현을 이어서 쓴다. 예를 들어, '''2007-04-05T14:30'''와 같이 표기한다.

날짜와 시간 사이에 공백과 같은 다른 문자를 사용하는 것은 허용되지 않는다.[38] (이는 RFC 3339에서는 허용되지만 ISO 8601 표준은 아니다.) 과거 ISO 8601:2004에서는 상호 합의 하에 'T' 문자를 생략하는 것이 허용되었으나(예: '''200704051430'''),[37] ISO 8601-1:2019에서는 이 조항이 삭제되어 현재는 '''T'''를 반드시 사용해야 한다.

날짜와 시간을 함께 표기할 때도 기본 형식과 확장 형식을 사용할 수 있다.


  • '''기본 형식''': 날짜와 시간 표기 내에 구분자(하이픈, 콜론)를 넣지 않는다. 예: '''20070405T1430'''
  • '''확장 형식''': 날짜는 하이픈(`-`)으로, 시간은 콜론(`:`)으로 각 요소를 구분하여 가독성을 높인다. 예: '''2007-04-05T14:30'''


날짜 표현(달력, 주, 서수)은 완전한 형태여야 하며, 시간은 필요에 따라 정밀도를 낮춰 표현할 수 있다. 이때 날짜 부분과 시간 부분 모두 동일한 형식(기본 형식 또는 확장 형식)을 사용해야 하며, 서로 다른 형식을 섞어 쓰는 것은 허용되지 않는다.

시간대 정보까지 포함해야 할 경우, 조합된 날짜와 시간 표현 뒤에 시간대 지정자를 붙인다. 시간대 지정자가 없으면 해당 시간은 특정 지역의 시간(local time)으로 간주된다. 하지만 시간대 지정자가 없으면 서로 다른 시간대 간 통신 시 혼란을 일으킬 수 있고, 일광 절약 시간(서머 타임) 적용 여부에 따라 모호해질 수도 있다.

  • '''협정 세계시(UTC)''': 시간 뒤에 공백 없이 '''Z'''를 추가한다. 'Z'는 UTC 오프셋이 0임을 나타낸다.
  • * 예: "09:30 UTC"는 '''09:30Z''' 또는 '''T0930Z''' (기본 형식)로 표기한다. "14:45:15 UTC"는 '''14:45:15Z''' 또는 '''T144515Z''' (기본 형식)로 표기한다.
  • * 'Z'는 군사 시간대에서 유래한 "줄루 시간"이라고도 불린다.[30][31][32]

  • '''UTC 외 시간대''': UTC와의 시간 차이(오프셋)를 사용하여 표현한다. 시간 뒤에 '''±hh:mm''', '''±hhmm''', '''±hh''' 형식 중 하나를 붙인다. '+'는 UTC보다 시간이 빠른 경우, '-'는 느린 경우를 의미한다.
  • * 예: '''2007-04-05T14:30Z''' (UTC), '''2007-04-05T12:30-02:00''' (UTC-2시간), '''2004-04-01T21:00+09:00''' (KST, UTC+9시간)
  • * 기본 형식 예: '''20040401T2100+0900'''


아래는 날짜와 시간 조합 표기의 몇 가지 예시이다.

날짜와 시간 조합 표기 예시 (확장 형식과 기본 형식)
설명확장 형식기본 형식
2004년 4월 5일 14시 30분 (UTC)2004-04-05T14:30Z20040405T1430Z
2007년 4월 5일 12시 30분 (UTC-2)2007-04-05T12:30-02:0020070405T1230-0200
2004년 4월 1일 21시 00분 (KST, UTC+9)2004-04-01T21:00+09:0020040401T2100+0900



ISO 8601 표준에서 날짜 요소 구분에는 하이픈(`-`) '''만''' 사용하고, 시간 요소 구분에는 콜론(`:`) '''만''' 사용한다. 슬래시(`/`)나 마침표(`.`) 등 다른 기호는 표준 형식이 아니다.

많은 프로그래밍 언어는 확장 형식의 날짜와 시간 처리를 지원하지만, 기본 형식 지원은 상대적으로 적을 수 있다.

7. 지속 시간

지속 시간은 특정 기간 동안의 총 시간을 정의하며, '''P[n]Y[n]M[n]DT[n]H[n]M[n]S''' 또는 '''P[n]W''' 형식으로 표현된다. 이 표기에서 '''[n]'''은 각 날짜 및 시간 요소에 해당하는 값으로 대체된다. 선행 0은 필수는 아니지만, 각 요소의 숫자 최대 자릿수는 통신 당사자 간에 합의되어야 한다. 대문자 ''P'', ''Y'', ''M'', ''W'', ''D'', ''T'', ''H'', ''M'', ''S''는 각 날짜 및 시간 요소의 지정자이며, 다른 문자로 대체하지 않는다.


  • ''P''는 기간을 나타내는 지정자(''period''를 나타냄)이며, 지속 시간 표현의 시작 부분에 위치한다.
  • ''Y''는 연도 지정자이며, 연도를 나타내는 숫자 뒤에 위치한다.
  • ''M''은 월 지정자이며, 월을 나타내는 숫자 뒤에 위치한다 (날짜 부분).
  • ''W''는 주 지정자이며, 주를 나타내는 숫자 뒤에 위치한다.
  • ''D''는 일 지정자이며, 일을 나타내는 숫자 뒤에 위치한다.
  • ''T''는 시간 지정자이며, 지속 시간 표현의 시간 부분 앞에 위치한다.
  • ''H''는 시간 지정자이며, 시간을 나타내는 숫자 뒤에 위치한다.
  • ''M''은 분 지정자이며, 분을 나타내는 숫자 뒤에 위치한다 (시간 부분).
  • ''S''는 초 지정자이며, 초를 나타내는 숫자 뒤에 위치한다.


예를 들어, '''P3Y6M4DT12H30M5S'''는 "3년, 6개월, 4일, 12시간, 30분, 5초"의 지속 시간을 표현한다.

지정자를 포함하는 날짜 및 시간 요소는 해당 값이 0일 때 생략할 수 있다. 하위 순서의 요소도 정밀도를 줄이기 위해 생략할 수 있다. 예를 들어, '''P23DT23H'''와 '''P4Y'''는 모두 허용되는 지속 시간 표현이다. 최소한 하나의 요소는 표시해야 하므로, '''P''' 자체는 지속 시간 표현으로는 유효하지 않다. '''PT0S''' 또는 '''P0D'''는 모두 유효하며, 0초의 동일한 지속 시간을 표현한다.

모호성을 해결하기 위해, '''P1M'''은 1개월의 지속 시간이고 '''PT1M'''은 1분의 지속 시간이다 (시간 값 앞에 있는 시간 지정자 T에 유의). 사용된 가장 작은 값은 소수점을 가질 수도 있다.[39] 예를 들어 '''P0.5Y'''는 반 년을 나타낸다. 이 소수 부분은 '''P0,5Y''' 또는 '''P0.5Y'''와 같이 쉼표 또는 마침표로 지정할 수 있다. 표준은 P[n]Y... 형식에서 날짜 및 시간 값이 각 단위의 일반적인 범위를 초과하는 것(예: PT36H)을 명시적으로 금지하지는 않는다. 따라서 '''PT36H'''는 '''P1DT12H'''와 동일한 지속 시간을 나타내기 위해 사용할 수 있다. 그러나 일광 절약 시간제를 전환할 때 '''PT36H'''는 '''P1DT12H'''와 같지 않을 수 있다는 점에 유의해야 한다.

또는 통신 당사자 간의 합의에 따라 기본 형식 '''PYYYYMMDDThhmmss''' 또는 확장 형식 '''P[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]'''으로 결합된 날짜 및 시간 표시에 기반한 지속 시간 형식을 사용할 수 있다. 예를 들어 위에 표시된 첫 번째 지속 시간은 "P0003-06-04T12:30:05"가 될 수 있다. 그러나 이 형식에서는 개별 날짜 및 시간 값이 해당 모듈을 초과할 수 없다 (예: 달의 값 13 또는 시간의 값 25는 허용되지 않음).[40]

표준은 다음 섹션에서 설명하는 시간 간격의 일부로 지속 시간을 설명하지만, 지속 시간 형식 자체는 윤년과 달력 월의 총 일수에 관해 모호하다. 윤초 때문에 달력일의 초 수도 모호하다. 예를 들어 "P1M" 자체는 28, 29, 30 또는 31일이 될 수 있다. 시간 간격으로 사용할 때는 모호함이 없다. 지속 시간 형식(또는 그 하위 집합)은 시간 간격과 관계없이 널리 사용된다.[41][42]

8. 시간 간격

시간 간격은 두 시점 사이의 경과 시간을 의미한다. 경과 시간의 양은 지속 시간으로 표현하며, 두 시점(시작 및 종료)은 날짜 및 시간 또는 날짜 표현으로 나타낸다.

시간 간격을 표현하는 네 가지 방법이 있다.

시간 간격 표현 형식
형식예시
<시작>/<끝>2007-03-01T13:00:00Z/2008-05-11T15:30:00Z
<시작>/<지속 시간>2007-03-01T13:00:00Z/P1Y2M10DT2H30M
<지속 시간>/<끝>P1Y2M10DT2H30M/2008-05-11T15:30:00Z
<지속 시간>P1Y2M10DT2H30M (추가적인 맥락 정보 필요)



이 중 처음 세 가지 형식은 두 값을 구분하기 위해 ''간격 지정자''를 사용하는데, 일반적으로 슬래시(`/`)를 사용한다. ISO 8601-1:2019 표준에 따르면, 통신 당사자 간의 합의가 있다면 슬래시 대신 이중 하이픈(`--`)을 사용할 수도 있다.[43] 이는 컴퓨터 파일명에서 슬래시가 예약 문자로 사용될 수 없는 경우에 유용하다.[44]

`<시작>/<끝>` 표현 형식에서는 끝 값의 일부 요소가 생략된 경우, 시간대를 포함하여 시작 값의 해당 요소와 동일한 것으로 간주한다. 이는 시간 간격을 간결하게 표현하기 위함이다.


  • 예: `2007-12-14T13:30/15:30`은 `2007-12-14T13:30/2007-12-14T15:30`을 의미한다. (시작 날짜와 동일)
  • 예: `2008-02-15/03-14`는 `2008-02-15/2008-03-14`를 의미한다. (시작 연도와 동일)


시간 간격을 더 정확하게 표현해야 할 경우, 표현에 더 많은 시간 요소를 추가할 수 있다.

  • 예: `2007-11-13/15`는 2007년 11월 13일의 어느 시점부터 2007년 11월 15일의 어느 시점까지를 의미하지만, `2007-11-13T09:00/15T17:00`은 시작 시간과 종료 시간까지 명확히 한다.
  • 시작 날짜와 종료 날짜 전체를 명시적으로 포함하려면 간격은 `2007-11-13T00:00/16T00:00`과 같이 표현한다. (이는 2007년 11월 13일 00:00:00부터 2007년 11월 16일 00:00:00 직전까지, 즉 15일 자정까지를 의미한다.)

8. 1. 반복 간격

ISO 8601 표준의 4.5절 "시간 간격 반복"에서는 반복되는 시간 간격을 표현하는 방법을 정의한다. 반복 간격은 기존의 시간 간격 표현 앞에 `R[n]/`을 추가하여 나타낸다. 여기서 `R`은 반복을 의미하는 문자이고, `[n]`은 반복 횟수를 나타내는 숫자이다.

반복 간격 표현 형식
형식설명
`R[n]/<간격>`지정된 `<간격>`을 `n`번 반복한다. `[n]`에 0을 지정하면 반복되지 않음을 의미한다.
`R/<간격>`지정된 `<간격>`을 무한히 반복한다. `[n]` 값을 생략하거나 -1 값을 사용하는 경우에 해당한다.



반복의 기준점은 `<간격>` 표현 방식에 따라 달라진다.


  • 간격 표현에 시작 시점이 명시된 경우 (예: `시작/끝`, `시작/기간`), 이 시작 시점이 반복의 시작 기준이 된다.
  • 간격 표현에 끝 시점만 명시된 경우 (예: `기간/끝`), 이 끝 시점이 반복의 종료 기준이 된다.


예를 들어, "2008-03-01T13:00:00Z"부터 시작하여 "P1Y2M10DT2H30M" (1년 2개월 10일 2시간 30분)의 기간을 5번 반복하려면 다음과 같이 표현한다.

`R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M`

9. 한국의 표준 (KS X ISO 8601)

대한민국에서는 ISO의 ISO 8601 표준을 기반으로 하여 국가표준(KS)인 KS X ISO 8601을 제정하여 사용하고 있다. 이 표준은 데이터 요소 및 교환 형식, 특히 날짜와 시간의 표기에 관한 국제 표준을 국내 실정에 맞게 도입한 것이다.

KS X ISO 8601은 기본적으로 ISO 8601의 규정을 따르지만, 한국의 언어 및 문화적 특성, 관련 법규 등을 고려하여 일부 내용이 부가되거나 수정될 수 있다. 예를 들어, 날짜 표기 시 연호 대신 서기를 사용하는 것이 일반적이며, 시간대 표기 역시 한국 표준시(KST, UTC+9)를 기준으로 하는 경우가 많다. 국가기술표준원에서 해당 표준의 제개정 및 관리를 담당한다.

9. 1. 연호 표기 (JIS X 0301)

일본 산업 규격 JIS X 0301(구 JIS C 6262)은 ISO 8601:2000을 번역하여 수록한 표준으로, 정보 교환을 위한 데이터 요소 및 교환 형식, 특히 날짜 및 시간 표기에 대해 다룬다. 이 규격에는 ISO 8601과는 별개로 "연호를 사용한 날짜 표기" 방식이 규정되어 있다.[79]

사용되는 연호와 그 표기는 다음과 같다. 이 연호들을 대표하는 메타 문자로는 ''N''을 사용한다.

연호 명칭한자 표기로마자 약칭
메이지M
다이쇼T
쇼와S
헤이세이H
레이와R



겐지, 게이오 등 메이지 시대 이전의 연호에 대한 규정은 이 표준에 포함되어 있지 않다.

날짜 표기 형식은 기본 형식 "YY.MM.DD" 또는 연호 문자를 포함한 확장 형식 "''N''YY.MM.DD"를 따른다. 여기서 "YY"는 해당 연호 내에서의 연도를 나타낸다. 연, 월, 일은 각각 두 자리 숫자로 표기해야 하며, 한 자리 숫자인 경우 앞에 0을 붙여야 한다(예: 01, 02). 연, 월, 일을 구분하는 기호로는 마침표(.)를 사용하며, 이는 기본 형식에서도 생략할 수 없다. 이는 서기 표기 시 하이픈(-)을 사용하는 것(예: 2019-06-23)과 구별된다.


  • 예시:
  • H16.04.01 (헤이세이 16년 4월 1일)
  • R02.06.23 (레이와 2년 6월 23일)
  • 평16.04.01 (헤이세이 16년 4월 1일)
  • 령02.06.23 (레이와 2년 6월 23일)


서기 표기에서 사용되는 날짜와 시간 동시 표현(예: 2021-10-27T15:48:10.78) 방식은 연호 표기에는 규정되어 있지 않다. 따라서 R02.06.23T15:48:10.78과 같은 표기의 허용 여부는 명확하지 않다.

이 규격의 적용 범위는 일본이 그레고리력으로 역법을 전환한 메이지 6년 1월 1일(1873년 1월 1일) 이후의 날짜에 한정된다. 그 이전, 즉 메이지 1년 1월 1일부터 메이지 5년 12월 2일까지(1868년 1월 25일 ~ 1872년 12월 31일)는 태음태양력(구력)을 사용하던 시기이므로 이 규격의 적용 대상이 아니며, 해당 날짜를 그레고리력으로 해석하지 않는다. 또한, 일본의 입년 개원 원칙에 따라 메이지 시대의 시작일은 M01.01.01로 간주한다.

10. 관련 표준 및 확장

ISO 8601 표준의 첫 판은 1988년에 ''ISO 8601:1988''로 공개되었다. 이 표준은 날짜 및 시간 표기의 다양한 측면을 다루던 여러 이전 ISO 표준들(ISO 2014, ISO 2015, ISO 2711, ISO 3307, ISO 4031)을 통합하고 대체했다.[2] 이 중 ISO 2014는 큰 단위부터 작은 단위 순서로 표기하는 전체 숫자 날짜 표기법([YYYY]-[MM]-[DD])을 처음 도입했으며, ISO 2015는 주의 번호를 매기는 시스템을, ISO 2711은 연중 서수 일자로 날짜를 식별하는 방법을 처음 정의했다.

ISO 8601은 여러 차례 개정되었다.


  • ISO 8601:2000: 2000년에 발행된 두 번째 판.
  • ISO 8601:2004: 2004년 12월 1일에 발행된 세 번째 판.
  • ISO 8601-1:2019ISO 8601-2:2019: 2019년 2월 25일에 발행된 네 번째 판으로, 기존 ISO 8601:2004를 대체했다. 이 개정판은 표준을 두 부분으로 나누었다.
  • ''ISO 8601-1:2019''는 기본적인 규칙을 다룬다.[6][7]
  • ''ISO 8601-2:2019''는 확장 날짜/시간 형식(EDTF)과 같은 다양한 확장을 정의한다.[8][9][10][11][12][13] (자세한 내용은 표준화된 확장 섹션 참조)
  • ISO 8601-1:2019/Amd 1:2022: 2022년 10월에 발행된 수정안으로, 기술적인 설명의 모호성을 제거하고 달력일의 마지막 순간을 나타내는 "24:00:00" 형식을 다시 도입했다.


ISO 8601 표준은 ISO 기술 위원회 TC 154에서 준비하고 관리한다.[3][4]

다음은 ISO 8601 표준의 발행 이력이다.

발행된 에디션 및 수정 사항의 연혁
이름설명
ISO 8601:1988데이터 요소 및 교환 형식 — 정보 교환 — 날짜 및 시간 표현
ISO 8601:1988/COR 1:1991데이터 요소 및 교환 형식 — 정보 교환 — 날짜 및 시간 표현 — 기술 정오표 1
ISO 8601:2000데이터 요소 및 교환 형식 — 정보 교환 — 날짜 및 시간 표현
ISO 8601:2004데이터 요소 및 교환 형식 — 정보 교환 — 날짜 및 시간 표현
ISO 8601-1:2019날짜 및 시간 — 정보 교환을 위한 표현 — 파트 1: 기본 규칙
ISO 8601-2:2019날짜 및 시간 — 정보 교환을 위한 표현 — 파트 2: 확장
ISO 8601-1:2019/Amd 1:2022날짜 및 시간 — 정보 교환을 위한 표현 — 파트 1: 기본 규칙 — 수정 1: 기술 수정



ISO 8601은 여러 국가에서 국가 표준으로 채택되거나 참조되고 있다.

국가관련 표준
오스트레일리아AS ISO 8601-2007
오스트리아ÖNORM ISO 8601 (ÖNORM EN 28601로 대체)
벨기에NBN EN 28601 (1993)
브라질NBR 5892:1989
캐나다CSA Z234.5:1989
중국GB/T 7408-2005
체코ČSN ISO 8601 (ČSN EN 28601로 대체)
덴마크DS/ISO 8601:2005 (DS/EN 28601로 대체)
유럽 표준EN ISO 8601, EN 28601:1992 (2011년 10월 7일 취소)
핀란드SFS-EN 28601
프랑스NF Z69-200; NF EN 28601:1993-06-01 (취소)
독일DIN ISO 8601:2006-09 (DIN EN 28601:1993-02로 대체); 관련: DIN 5008:2011-04 (DIN 5008:2005-05로 대체, DIN 5008:2001-11, DIN 5008:1996-05)
그리스ELOT EN 28601
헝가리MSZ ISO 8601:2003
아이슬란드IST EN 28601:1992
인도IS 7900:2001
아일랜드IS/EN 28601:1993
이탈리아UNI EN 28601 (1993)
일본JIS X 0301-2002
대한민국KS X ISO 8601
라트비아Ministru kabineta noteikumi Nr.916
리투아니아LST ISO 8601:2006 (LST ISO 8601:1997로 대체)
룩셈부르크ITM-EN 28601
네덜란드NEN ISO 8601, NEN EN 28601 (1994), NEN 2772
노르웨이NS-ISO 8601
폴란드PN-90/N-01204
포르투갈NP EN 28601
러시아ГОСТ ИСО 8601-2001 (현재), ГОСТ 7.64-90 (이전)
남아프리카 공화국ARP 010:1989
스페인UNE EN 28601
스웨덴SS-ISO 8601 (SS-EN 28601 (1991)로 대체)
스위스SN ISO 8601:2005-08 (SN-EN 28601:1994로 대체)
대만CNS 7648
태국TIS 1111:2535 (1992)
튀르키예TS ISO 8601
우크라이나ДСТУ ISO 8601:2010
영국BS ISO 8601:2004, BS EN 28601 (1989-06-30)
미국ANSI INCITS 30-1997 (R2008) and NIST FIPS PUB 4-2
베트남TCVN 6398-1:1998


10. 1. 관련 RFC

인터넷에서 월드 와이드 웹 컨소시엄(W3C)은 오류 가능성과 소프트웨어의 복잡성을 줄이기 위해 지원되는 날짜 및 시간 형식을 제한하는 표준 프로파일을 정의하는 데 ISO 8601 기반의 IETF 표준을 사용한다. 이 규격은 아래에 언급된 RFC 3339의 초안을 기반으로 한다.[45]

RFC 3339는 인터넷 프로토콜 및 표준에서 사용하기 위한 ISO 8601의 프로파일을 정의한다.[47] 이 표준은 서기 이전의 기간 및 날짜를 명시적으로 제외하며, 주 번호 및 서수 날짜와 같은 더 복잡한 형식은 허용되지 않는다.[48]

RFC 3339는 ISO 8601과 달리 0 시간대 오프셋을 ISO 8601에서 금지하는 "-00:00"으로 지정할 수 있다는 차이점이 있다. RFC 3339는 "-00:00"이 선호하는 시간대를 나타내지 않는다는 의미를 전달하고, 반면에 규정을 준수하는 "+00:00" 또는 0이 아닌 오프셋은 사용 중인 오프셋이 선호됨을 나타낸다. "-00:00"에 대한 이 규칙은 이메일 헤더의 타임스탬프에 이를 사용하는 RFC 2822와 같은 이전 RFC에서 파생되었다.[49] RFC 2822는 타임스탬프 형식의 일부가 ISO 8601을 준수한다고 주장하지 않았으므로 충돌 없이 이 규칙을 사용할 수 있었다.

RFC 3339의 기초를 바탕으로 인터넷 엔지니어링 태스크 포스(IETF)는 RFC 9557에서 인터넷 확장 날짜/시간 형식(IXDTF, Internet Extended Date/Time Format)을 도입했다.[50] 이 형식은 타임스탬프 표현에 관련 시간대 이름과 같은 추가 정보를 포함하도록 확장한다. 시간대 이름을 포함하는 것은 일광 절약 시간제 전환과 같은 이벤트를 고려해야 하는 애플리케이션에 특히 유용하다. 또한 IXDTF는 시간대 이름을 타임스탬프에 연결하기 위한 기존 구문과의 호환성을 유지하여 인터넷에서 타임스탬프 표현에 대한 표준화되고 유연한 접근 방식을 제공한다. 예시는 다음과 같다.

1996-12-19T16:39:57-08:00[America/Los_Angeles]

10. 2. 표준화된 확장 (ISO 8601-2:2019)

ISO 8601-2:2019는 ISO 8601 날짜 및 시간 형식에 대한 일련의 표준화된 확장 기능을 정의한다.

'''확장 날짜/시간 형식(EDTF)'''

EDTF는 ISO 8601의 프로파일 예시로 제공되며, 다음과 같은 기능을 포함한다:[8]

  • 불확실성 및 근사 한정자 '?', '~'와 결합된 '%' 사용. 전체 날짜 또는 개별 구성 요소에 적용할 수 있다.
  • 시작 또는 끝이 열려 있거나(무제한) 알 수 없는 시간 간격.
  • 연도에 대한 지수 및 유효 숫자 표기법.
  • 계절 및 분기점 등 연도보다 작은 단위를 나타내는 특수 "월" 값.
  • 날짜 목록을 직렬화하기 위한 구문.


EDTF 기능은 ISO 8601-2:2019의 "날짜 및 시간 확장" 섹션에 설명되어 있다.

'''반복 시간 간격에 대한 반복 규칙'''

ISO 8601-2:2019는 iCalendar의 구문을 기반으로 반복 간격을 제한하는 형식도 정의한다.

11. 프로그래밍 언어에서의 구현

대부분의 프로그래밍 언어에서 날짜 및 시간을 처리하는 방법은 표준 라이브러리에 포함되어 있거나 별도의 라이브러리가 있다. 예를 들어, Java의 경우 'java.time' 패키지로 처리하고[80], .NET Framework는 라운드트립 형식 지정자로[81], JavaScript는 'Date.toISOString()' 등으로[82], Python은 'datetime.isoformat()' 등으로[83] 처리할 수 있다.

참조

[1] 문서 ISO 8601:2004[E] section 1 Scope
[2] 인용 ISO 8601:2004(E) ISO 2004-12-01
[3] 서적 ISO 8601:2004(E) ISO 2004-12-01
[4] 웹사이트 TC 154 Processes, data elements and documents in commerce, industry and administration http://www.iso.org/i[...] ISO 2014-08-16
[5] 웹사이트 Introduction to the new ISO 8601-1 and ISO 8601-2 https://www.isotc154[...] 2019-08-26
[6] 웹사이트 ISO/DIS 8601-1:2016-10-26 https://www.loc.gov/[...]
[7] 웹사이트 German draft ''E DIN ISO 8601-1:2017-02 Datenelemente und Austauschformate - Informationsaustausch - Darstellung von Datum und Uhrzeit - Teil 1: Grundlegende Regeln (ISO/DIS 8601-1:2016)'' https://www.din.de/d[...] DIN-Normenausschuss Informationstechnik und Anwendungen (NIA) 2017-10-19
[8] 웹사이트 Extended Date/Time Format (EDTF) Specification https://www.loc.gov/[...] The Library of Congress 2019-10-08
[9] 웹사이트 Extended Date/Time Format (EDTF) Background https://www.loc.gov/[...] The Library of Congress 2019-10-08
[10] 웹사이트 Extended Date/Time Format (EDTF) 1.0 2012/2014 https://www.loc.gov/[...] The Library of Congress
[11] 웹사이트 ISO/WD 8601-2:2016-02-16 https://www.loc.gov/[...]
[12] 웹사이트 ISO/DIS 8601-2:2016-10-26 https://www.loc.gov/[...]
[13] 웹사이트 German draft ''E DIN ISO 8601-2:2017-02 Datenelemente und Austauschformate - Informationsaustausch - Darstellung von Datum und Uhrzeit - Teil 2: Erweiterungen (ISO/DIS 8601-2:2016)'' https://www.din.de/d[...] DIN-Normenausschuss Informationstechnik und Anwendungen (NIA) 2017-10-19
[14] 웹사이트 ISO 8601 — Date and time format http://www.iso.org/i[...] ISO
[15] 웹사이트 Date and Time Formats https://www.w3.org/T[...] 1997-09-15
[16] 문서 ISO 8601:2004 section 2.3.3 basic format
[17] 문서 ISO 8601 변경사항
[18] 서적 Explanatory Supplement to the Astronomical Almanac http://astro.nmsu.ed[...] University Science Books
[19] 서적 ISO 8601:2004(E) ISO 2004-12-01
[20] 서적 ISO 8601:2004(E) ISO 2004-12-01
[21] 문서 ISO 8601:2004 sections 3.4.2, 4.1.2.4
[22] 문서 ISO 8601 Annex B.1.1 참조
[23] 인터넷표준 vCard Format Specification IETF 2011-08-01
[24] 인터넷표준 vCard Format Specification IETF 2011-08-01
[25] 문서 ISO 8601-1:2019 section 5.3.1.3 Representations with reduced precision
[26] 인용 ISO 8601-1:2019/Amd 1:2022 ISO 2022-10-25
[27] 문서 ISO 8601-1:2019 section 3.1.3.9 Decimal sign
[28] 인용 ISO 8601:2004(E) ISO 2004-12-01
[29] 웹사이트 ISO 8601 Format https://docs.microso[...] 2008-12-03
[30] 웹사이트 A summary of the international standard date and time notation https://www.cl.cam.a[...] 2020-06-16
[31] 웹사이트 Communication Instructions General ACP 121(I) https://rnzncomms.fi[...] Combined Communications Electronics Board 2010-10-01
[32] 서적 Time: From Earth Rotation to Atomic Physics Wiley-VCH Verlag GmbH & Co. KGaA
[33] 문서 ISO 8601-1:2019 section 3.2.4, ISO 8601:2004 section 3.4.2
[34] 문서 RFC 3339-알 수 없는 지역 오프셋 규칙
[35] 인터넷표준 Date and Time on the Internet:Timestamps IETF 2002-07-01
[36] pdf Data elements and interchange formats — Information interchange - Representation of dates and times — Part 1: Basic rules https://www.loc.gov/[...] ISO 2016-02-16
[37] 서적 ISO 8601:2004(E): Data elements and interchange formats — Information interchange — Representation of dates and times ISO 2004-12-01
[38] IETF Date and Time on the Internet: Timestamps 2002-07-01
[39] 웹사이트 Data elements and interchange formats — Information interchange - Representation of dates and times — Part 1: Basic rules https://www.loc.gov/[...] 2021-07-06
[40] 문서 ISO 8601:2004 section 4.4.3.3 Alternative format, ISO 8601-1:2019 section 5.5.2.4 Alternative format
[41] 웹사이트 Java 8 Class Duration https://docs.oracle.[...] Oracle 2017-10-07
[42] 웹사이트 Amazon Alexa Duration https://developer.am[...] Amazon.com 2017-10-07
[43] 웹사이트 Info on ISO 8601, the date and time representation standard https://jkorpela.fi/[...] Cs.tut.fi 2012-08-29
[44] 웹사이트 ISO 8601 - Getting with the Times (and Dates) http://www.hydrogold[...] Hydrogold 2013-08-13
[45] 웹사이트 Note about Date and Time Formats to W3C from Reuters http://www.w3.org/TR[...]
[46] 웹사이트 ID3 tag version 2.4.0 - Main Structure http://www.id3.org/i[...] id3.org 2009-09-27
[47] IETF Date and Time on the Internet: Timestamps IETF 2015-10-25
[48] IETF Date and Time on the Internet: Timestamps IETF 2015-10-25
[49] IETF Internet Message Format IETF 2001-04-01
[50] IETF Date and Time on the Internet: Timestamps with Additional Information https://www.rfc-edit[...] IETF 2024-05-28
[51] 웹사이트 CAN/CSA-Z234.4-89 (R2007): All-Numeric Dates and Times https://www.scc.ca/e[...] 1989-12-31
[52] 웹사이트 ČSN ISO 8601 (979738) Datové prvky a formáty výměny - Výměna informací - Zobrazení data a času https://www.technick[...] 2023-04-17
[53] 웹사이트 DOF - Diario Oficial de la Federación http://dof.gob.mx/no[...] 2021-11-10
[54] 웹사이트 Główny Urząd Miar https://www.gum.gov.[...] 2020-12-04
[55] 웹사이트 SANS 8601:2009 (Ed. 2.00) https://store.sabs.c[...] 2021-11-24
[56] 웹사이트 SS-ISO 8601-1:2022 https://www.sis.se/e[...] 2023-10-06
[57] 문서 西暦年を末尾の2桁で表す慣習もあるので、11/09/12(または 11.09.12)の表記は、2011-09-12(日本など)、2012-09-11(英国など)、2012-11-09(米国など)の3つの年月日の可能性がある。
[58] 위키 Date format by country
[59] 이미지 date-time format by region, visualised https://preview.redd[...]
[60] 문서 これら以外の2022/09/04(区切りが「-」でない。)、04-09-2022または04/09/2022(リトルエンディアン)、09-04-2022または09/04/2022(ミドルエンディアン)の表記を禁止する。
[61] 웹사이트 JIS X 0301:2002 http://kikakurui.com[...]
[62] ISO표준 ISO 2014:1976 - Writing of calendar dates in all-numeric form https://www.iso.org/[...]
[63] ISO표준 ISO 8601:1988 - Data elements and interchange formats -- Information interchange -- Representation of dates and times https://www.iso.org/[...]
[64] ISO표준 ISO 8601:2000 - Data elements and interchange formats -- Information interchange -- Representation of dates and times https://www.iso.org/[...]
[65] ISO표준 ISO 8601:2004 - Data elements and interchange formats -- Information interchange -- Representation of dates and times https://www.iso.org/[...]
[66] ISO표준 ISO 8601-1:2019 - Date and time -- Representations for information interchange -- Part 1: Basic rules https://www.iso.org/[...]
[67] ISO표준 ISO 8601-2:2019 - Date and time -- Representations for information interchange -- Part 2: Extensions https://www.iso.org/[...]
[68] ISO표준 ISO 8601-1:2019/Amd 1:2022 Date and time — Representations for information interchange — Part 1: Basic rules — Amendment 1: Technical corrections https://www.iso.org/[...]
[69] 문서 日本標準時によるページ生成時刻
[70] pdf 3.2 Time scales、The Gregorian calendar has a reference point that assigns 20 May 1875 to the calendar day that the “Convention du Mètre” was signed in Paris. https://www.loc.gov/[...]
[71] 문서 3.2.2 The week calendar、The reference point of the time scale assigns Saturday to 1 January 2000.、p.15 https://www.loc.gov/[...]
[72] 간행물 JIS X0301:2002 情報交換のためのデータ要素及び交換形式ー日付及び時刻の表記 官報公示 2002-08-20
[73] 문서 Values in the range [0000] through [1582] shall only be used by mutual agreement of the partners in information interchange. https://www.loc.gov/[...]
[74] 문서 3.5 Expansion https://www.loc.gov/[...]
[75] 표준 ISO 8601:2004 section 4.4.3.3 Alternative format
[76] 웹사이트 Java 8 Class Duration https://docs.oracle.[...] Oracle 2017-10-07
[77] 웹사이트 Amazon Alexa Duration https://developer.am[...] Amazon.com 2017-10-07
[78] 표준 3.1.1.6 time interval. part of the time axis (3.1.1.4) limited by two instants (3.1.1.3) and, unless otherwise stated, the limiting instants themselves https://www.iso.org/[...]
[79] 뉴스 日付及び時刻の表記を規定する JIS に「令和」を追加 https://www.meti.go.[...] 経済産業省 産業技術環境局 国際電気標準課 2019-05-20
[80] 문서 java.time (Java SE 11 & JDK 11 ) https://docs.oracle.[...]
[81] 문서 ラウンドトリップ ("O"、"o") 書式指定子 - 標準の日時書式指定文字列 | Microsoft Docs https://docs.microso[...]
[82] 문서 Date.prototype.toISOString() - JavaScript | MDN https://developer.mo[...]
[83] 문서 datetime --- 基本的な日付型および時間型 — Python 3 ドキュメント https://docs.python.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com