tz 데이터베이스

tz database
tz 데이터베이스는 1970년 이후 로컬클럭이 모두 같은 지역으로 세계를 분할합니다.데이터베이스의 2017a 에디션과 OpenStreetMap 데이터를 결합하여 만든 이 지도는 남극 [1]대륙 이외의 모든 지역의 지도입니다.

tz 데이터베이스는 주로 컴퓨터 프로그램 및 운영 [2]체제에서 사용하기 위해 세계 시간대에 대한 정보를 공동으로 편집한 것입니다.Paul Egert는 ICANN[4]조직적인 지원을 받아 현재 편집자 겸 [3]관리자입니다.tz 데이터베이스는 tzdata, zoneinfo 데이터베이스 또는 IANA 타임존 데이터베이스라고도 하며, 설립자인 Arthur David Olson을 [5]지칭하여 Olson 데이터베이스라고도 합니다.

America/New_York 및 Europe/Paris같은 시간대의 통일된 명명 규칙은 Paul Egert에 [6]의해 설계되었습니다.데이터베이스는 Unix [7]시간대인 1970년 이후 과거의 시간대와 모든 민간 변화를 기록하려고 합니다.또, 서머 타임등의 이행이나 윤초 [8]기록도 포함되어 있습니다.

데이터베이스는 일부 참조 소스 코드와 함께 공용 [9]도메인에 있습니다.데이터베이스와 코드의 새로운 에디션은 변경 보증으로 발행되며, 보통 [10]1년에 몇 번 발행됩니다.

data 구조

파일 형식

tz 데이터베이스는 규칙 및 구역 전환을 사람이 읽을 수 있는 형식으로 나열하는 텍스트 파일 세트로 게시됩니다.이러한 텍스트 파일은 표준 시간대별로 하나씩 플랫폼에 의존하지 않는 바이너리 파일 세트로 컴파일됩니다.참조 소스 코드에는 zic(존 정보 컴파일러)라고 불리는 컴파일러와 이러한 파일을 읽고 다음과 같은 표준 API에서 사용하는 코드가 포함됩니다.localtime()그리고.mktime().

시간대 정의

tz 데이터베이스 내에서 타임존은 1970년 [11]이후 로컬클럭이 모두 합의된 국가 지역입니다.이 정의는 먼저 일관된 로컬 클럭을 가지고 있는 지리적 영역과 관련이 있습니다.이는 본초 자오선으로부터의 일관된 오프셋에 관련된 다른 정의와는 다릅니다.따라서 tz 데이터베이스에 의해 정의된 각 시간대는 일반적으로 표준 시간과 여름 시간 모두를 포함하여 UTC로부터의 여러 오프셋을 문서화할 수 있습니다.

시간대 텍스트파일에서는 각 시간대 텍스트파일 중 하나에 1개 이상의 "구역 라인"이 있습니다.타임존의 첫 번째 존 행은 타임존의 이름을 나타냅니다.이 후의 존 행은, 그 이름을 공백인 채로 해, 앞의 행과 같은 존에 적용되는 것을 나타냅니다.존의 각 존 행은 표준시간 범위에 대해 UTC에 대한 오프셋, 여름시간을 규정하는 규칙 세트의 이름(표준시가 항상 적용되는 경우 하이픈), 시간대 약어 형식 및 마지막 존 행을 제외한 모든 존 행에 대해 날짜와 시간 범위를 지정합니다.그 줄의 끝부분으로 찢겨져 있다.

여름 시간(DST) 규칙

여름 시간 규칙은 이름 있는 규칙 집합으로 지정됩니다.각 규칙 집합에는 표준 시간대 텍스트 파일에 하나 이상의 규칙 행이 있습니다.규칙 행에는 규칙이 속한 규칙 세트의 이름, 규칙이 적용되는 첫 해, 규칙이 적용되는 마지막 해(1년 동안만 적용되는 경우 '만' 또는 현재 유효한 규칙인 경우 '최대'), 규칙이 지정된 범위의 모든 연도에 적용되는 연도('-'가 포함됩니다.거의 항상 케이스(그 이외의 경우에는 지정된 유형의 연도인지 여부를 나타내는 스크립트에 대한 인수로 사용되는 이름), 규칙이 발효되는 달, 규칙이 발효되는 날(특정 날짜 또는 "월 마지막 일요일" 등의 지정일 수 있음), 규칙이 적용되는 시간이펙트: 규칙이 유효할 때 오프셋에 UTC에 추가할 시간 및 시간대 약어로 사용할 문자(예를 들어 규칙이 표준 시간을 규정하는 경우 "S", 서머 타임을 규정하는 경우 "D" 등)입니다.

시간대 이름

시간대에는 "Area/Location" 형식의 고유한 이름이 있습니다(예: "America/New_York").영어 이름이나 동등한 이름을 사용하고 구두점과 공통 접미사를 생략하는 선택도 이루어졌다.공백 대신 밑줄 문자가 사용됩니다.하이픈은 로케이션의 이름에 표시됩니다.영역위치 이름의 최대 길이는 14자입니다.[12][13]

지역

Area대륙, 바다 또는 "etc"의 이름입니다.현재 사용되는 대륙과 해양은 아프리카, 미국, 남극, 북극, 아시아, 대서양, 호주, 유럽, 인도, 태평양입니다.

일부 섬들은 특정 대륙과 연결되기 어렵기 때문에 바다가 포함되어 있다.일부는 지리적으로 한 대륙과, 정치적으로 다른 대륙과 연결되어 있다.대륙경계를 참조하십시오.

"Etc"의 특수 영역은 일부 관리 구역, 특히 조정된 세계시를 나타내는 "Etc/UTC"에 사용됩니다.POSIX 스타일에 준거하기 위해서, 「Etc/GMT」로 시작하는 존명은, 표준 ISO 8601 규약으로부터 부호를 반대로 합니다."Etc" 영역에서 GMT 서쪽 구역은 양수 부호가 표시되고 동쪽 구역은 음수 부호가 이름에 표시됩니다(예: "Etc/GMT-14"는 GMT보다 14시간 빠릅니다).

위치

Location은 지역 내 특정 위치(일반적으로 도시 또는 작은 섬)의 이름입니다.

국가명은 이 제도에서 사용되지 않는다. 왜냐하면 주로 정치적, 국경적 변화가 빈번하기 때문에 견고하지 않을 것이기 때문이다.대도시의 이름은 더 [14]영구적인 경향이 있다.일반적으로 지역에서 가장 인구가 많은 도시가 전체 시간대를 나타내도록 선택되지만, 더 널리 알려진 경우에는 다른 도시가 선택될 수 있고 덜 모호한 이름이 [15]될 경우 도시 이외의 위치를 포함한 다른 위치가 사용될 수 있습니다.타임존을 나타내기 위해 사용되는 로케이션의 이름이 변경될 경우 이전 이름과 새 이름이 모두 동일한 데이터베이스 엔트리를 참조하도록 향후 에디션에서 에일리어스를[16] 작성하는 것이 관례입니다.

경우에 따라서는 장소 자체가 복합 이름으로 표현되기도 합니다. 예를 들어, 시간대 "America/Indiana/Indianapolis"는 다음과 같습니다."아메리카/아르헨티나/...", "아메리카/켄터키/...", "아메리카/인디아나/..." 및 "아메리카/북_다코타/..." 아래에 있는 3단계 이름이 포함됩니다.

선택한 위치가 전체 영역을 대표합니다.그러나 1970년 이전에 지역 내에 차이가 있는 경우 시간대 규칙은 지정된 위치에만 적용됩니다.

이름. 설명.
미국/코스타_리카 가장 큰 도시(및 수도)의 이름이 애매하기 때문에 사용되는 나라 이름
미국/뉴욕_요크 공간은 밑줄로 대체되었습니다.
아시아/콜카타 콜카타라는 도시의 이름. 왜냐하면 콜카타는 존이 설정되었을 때 그 구역에서 가장 인구가 많았기 때문이다. 하지만 이것은 더 이상[17] 사실이 아니다.
아시아/사할린 가장 큰 도시인 Yuzhno-Sakhalinsk가 14자 이상을 가지고 있기 때문에 사용되는 섬의 이름
아메리카/바히아_반데라스 올바른 이름이 14자 이상이기 때문에 "de"는 Bahia de Banderas에서 삭제되었습니다.
남극/두몬트DUrville 아포스트로피가 삭제됩니다.공백은 보통 "_"로 대체되지만 이름은 14자를 초과합니다.

구역 및 규칙 행 예시

이는 표준 미국 여름 시간 규칙에 대한 규칙선, 미국 동부 시간대적용되는 여름 시간 규칙에 대한 규칙선(뉴욕시가 해당 시간대를 나타내는 도시이므로 "NYC"라고 함) 및 해당 시간대의 릴리스 버전 tzdata2011n의 미국/뉴욕 시간대에 대한 구역선이다.tabase. 존과 규칙 행은 미국의 DST 역사를 반영합니다.

# 규칙명 FROM IN IN AT Save Letter/S 규칙 US 1918 1919 - 3월 마지막 일요일 2:00 1:00 D 규칙 US 1918 - 10월 마지막 일요일 2:00 0 S 규칙 US 1942만 - 2:00 1:00 W # 전쟁 규칙 US 1945만ug 14 23:00u 1:00 P # 평화 규칙 1945만 - 9월 30일 2:00 0 S 규칙 1967년 10월 마지막 일요일 2:00 0 S 규칙 1967 1973년 4월 마지막 일요일 2:00 1:00 D 규칙 1974만 - 1월 6일 1:00 1:00 D 규칙 미국1975년만-2월 23일 오후 2시 D규칙 미국 1976년 1986년-4월 lastSun 오후 2시 D규칙 미국 1987년 2006년 4월 Sun>, =1 오후 2시 D규칙 미국 2007년 max-3월 Sun>, =8 오후 2시 D규칙 미국 2007년 max-11월 Sun>, =1 2시. 0S ......# 규칙명 FROM TYPE IN AT SAVE LETTER Rule NYC 1920만 - 3월 지난 일요일 2:00 1:00 D 규칙 NYC 1920만 - 10월 마지막 일요일 2:00 0 S 규칙 NYC 1921 1966 - 4월 마지막 일요일 2:00 1:00 D 규칙 - 1921년 NYC 규칙9월 마지막 주 일요일 2:00 0 S 규칙 NYC 1955 1966 - 10월 마지막 주 일요일 2:00 0 S #존 이름 GMTOFF RULES 형식 [UNTIL]존 아메리카/뉴욕 - 4:56:02 - LMT 1883 11월 18일 12:03:58 - 00 - US:5 %- 미국 5:00 E%sT 1946 - 뉴욕 5:00 E%sT 1967 - 미국 5:00 E%sT

구역별 데이터 저장

(일반적으로 서머타임이 원인이 되어) 오프셋이 여러 개 있는 각 타임존에 대해 tz 데이터베이스는 정확한 전환 모멘트를 기록합니다.이 형식은 전환 날짜와 시간 변경에도 대응할 수 있습니다.존에는 수십 년 전의 과거의 규칙 변경이 있을 수 있습니다(위 예 참조).

Zone.탭

파일 zone.tab은 공용 도메인에 있으며 영역을 나열합니다.열 및 행 정렬은 다음과 같이 파일 설명에 설명되어 있습니다.

# 이 파일에는 # 1. ISO 3166 2글자 국가 코드가 있는 표가 포함되어 있습니다.파일 'iso3166.tab'을 참조하십시오. # 2. ISO 6709 부호-도표-분-초 형식으로 영역의 주요 위치 #의 위도와 경도, # +-DMM+-DDMSS 또는 +-DMMSS, # 첫 번째 위도는 북위도(+경도), #는 동위도(+경도)입니다.# 3. TZ 환경변수 값에 사용되는 존명. # 4. 주석. 국가에 여러 행이 있는 경우에만 표시.# # 열은 단일 탭으로 구분됩니다.# 표는 먼저 국가별로 정렬되고, 다음으로 #1은 지리적으로 의미가 있는 순서, #2는 가장 인구가 많은 지역을 우선시하는 순서입니다.그것은 (1)과 모순되지 않습니다. 

1970년 이전의 데이터

1970년 이전의 데이터는 지역을 식별하는 도시에 대해 정확함을 목표로 하지만, 전체 지역에 대해 정확할 필요는 없다.이는 1970년 이후 클럭 식별에 필요한 만큼만 새로운 영역이 작성되기 때문입니다.

예를 들어, 1963-10-23년과 1963-12-09년 사이에 브라질의 미나스 제라이스, 에스피리토 산토, 리우데자네이루, 상파울루 주만이 여름 시간을 가졌다.그러나 미국/Sao_Paulo에서 요청한 분할은 1970년 이후 지역 [18]전체에서 클럭이 동일하다는 이유로 2010년에 거부되었습니다.

유럽/베를린으로 대표되는 독일의 시간트리존이 베를린과는 [19]다른 서머타임 규칙을 사용하던 1945년에 비해 정확하지 않다.

범위

1970년 이후 여러 나라를 커버하는 구역

1970년 이후 두 나라가 커버한 지역을 커버하는 두 개의 구역이 있다.데이터베이스는 ISO 3166-1에 따른 국가의 정의를 따른다. ISO 3166의 전신인 ISO 3166은 1974년에 처음 출판되었다.

유지

tz 참조 코드와 데이터베이스는 자원봉사자 그룹에 의해 유지됩니다.Arthur David Olson은 코드를 대부분 변경하고 Paul Egert는 데이터베이스를 변경합니다.제안된 변경 사항은 comp.time.tz Usenet 뉴스그룹으로 전송되는 tz 메일링 목록으로 전송됩니다.소스 파일은 IANA FTP 서버를 통해 배포됩니다.일반적으로 이러한 파일은 Debian과 같은 소프트웨어 디스트리뷰터에 의해 컴파일된 후 소스 및 바이너리가 배포의 일부로 패키지됩니다.최종 사용자는 소프트웨어 배포의 업데이트 절차에 의존할 수 있습니다.이 절차에는 다소 지연이 수반될 수 있습니다.또는 소스를 직접 입수하여 바이너리 파일을 직접 작성할 수도 있습니다.IETF가 공개했습니다. RFC6557 "타임존 데이터베이스 유지 보수 절차"는 유사한 원칙에 따라 베스트 프랙티스를 문서화합니다.

Unix 계열 시스템

시간대 데이터베이스의 표준 경로는 다음과 같습니다./usr/share/zoneinfo/Linux 디스트리뷰션, macOS 및 기타 Unix와 유사한 시스템에서 사용할 수 있습니다.

사용방법 및 확장기능

시간대 경계

좌표 집합 형태의 지리적 경계는 tz 데이터베이스의 일부가 아니지만, 경계는[1] Eric Muller에 의해 벡터 폴리곤 형태로 게시됩니다.이러한 벡터 폴리곤을 사용하면 지구상의 각 위치에 대해 해당 폴리곤이 위치한 tz 데이터베이스 영역을 결정할 수 있습니다.

다른 표준에서 사용

Unicode Common Locale Data Repository(CLDR)는 tz 데이터베이스 내의 존을 참조합니다.단, 존의 이름은 어떤 tz 데이터베이스 릴리스에서 다른 tz 데이터베이스 릴리스로 변경될 수 있기 때문에 CLDR은 존 이름에 사용되는 시티의 UN/LOCODE를 tzdb [20][21]존에 할당합니다.

소프트웨어 시스템에서 사용

tz 데이터베이스는 다음을 포함한 많은 컴퓨터 소프트웨어 시스템에서 시간대 처리 및 변환에 사용됩니다.

Olson 시간대 ID는 Unicode Common Locale Data Repository(CLDR) 및 International Components for Unicode(ICU)에서도 사용됩니다.예를 들어, CLDR Windows-Tzid 테이블은 Microsoft Windows 시간대 ID를 표준 Olson 이름에 매핑합니다.단, IANA TZ [32]데이터베이스보다 Windows 시스템의 시간대 수가 현저하게 적기 때문에 이러한 매핑은 완벽할 수 없습니다.

역사

이 프로젝트의 기원은 1986년 [33]이전으로 거슬러 올라간다.

2011년 소송

2011년 9월 30일 [34][35]Astrolabe, Inc. v. Olson데이터베이스 내 저작권에 관한 소송이 제기되었습니다.그 결과, 2011년 10월 6일에 데이터베이스의 메일링 리스트와 FTP 사이트가 폐쇄되었습니다.[36]이 사건은 데이터베이스 관리자들이 토마스 G의 아메리칸 아틀라스를 사용한 것을 중심으로 전개되었다. Thomas G의 Shanks와 The International Atlas.생크스와 리크 포텐저.실제로 데이터베이스 자체를 가리키지는 않았지만, 타임존 메일링 리스트 아카이브 및 데이터베이스와 함께 유지되는 일부 보조 링크 컬렉션에서 아틀라스 데이터가 무단 복제되었다고 불만을 제기했습니다.불만 사항은 과거 시간대 데이터 컴파일에만 관련된 것으로 현재 tzdata 세계 시간대 표는 [35][37][38]포함되지 않았습니다.

이 소송은 2012년 2월 22일 Electronic Frontier Foundation의 관여로 해결됐다.이 때 아스트롤라베는 피고인들을 섬기지 않고 자발적으로 소송을 기각하고 향후 [39]소송을 하지 않겠다는 계약에 합의했다.

ICANN으로 이동

ICANN은 2011년 [4]10월 14일 데이터베이스 유지보수를 담당했다.전체 데이터베이스와 현재 및 향후 유지관리 계획에 대한 설명은 IANA에서 온라인으로 제공됩니다.[40]

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Muller, Eric (8 October 2012). "A shapefile of the TZ timezones of the world".
  2. ^ Eggert, Paul; Olson, Arthur David (29 November 2007). "Sources for time zone and daylight saving time data". Retrieved 3 December 2007.
  3. ^ Eggert, Paul (17 January 2005). "Re: FW: IANA time zone registration – proposal". tz (Mailing list).
  4. ^ a b "ICANN to Manage Time Zone Database" (news alert). ICANN. 15 October 2011. Retrieved 30 December 2011.
  5. ^ Olson, Arthur David (16 December 1986). "Resolved timezone issue? Other issues. New ctime manual page". tz (Mailing list).
  6. ^ Eggert, Paul (20 October 1993). "proposal for time zone names". tz (Mailing list).
  7. ^ Olson, Arthur David (18 March 1987). "Re: List of issues". tz (Mailing list).
  8. ^ Devine, Bob (2 June 1988). "leap seconds; [0-60] is ok". tz (Mailing list).
  9. ^ Eggert, Paul (11 November 1995). "questions and comments on http://tycho.usno.navy.mil/tzones.html". tz (Mailing list).
  10. ^ "zoneinfo tzcode and tzdata archives (FTP)". Retrieved 30 October 2007.
  11. ^ 이론(텍스트 파일), "tzcode" 분포에 포함되어 있습니다.버전 tzcode2007h.tar.gz 2007년 10월1 일 참조.
  12. ^ Olson, Arthur David (1 May 2010). "proposed time zone package changes (Bahia de Banderas; version naming)". tz (Mailing list).
  13. ^ "Timezone identifiers". Theory and pragmatics of the tz code and data. Use only valid POSIX file name components (i.e., the parts of names other than '/'). Do not use the file name components '.' and '..'. Within a file name component, use only ASCII letters, '.', '-' and '_'. Do not use digits, as that might create an ambiguity with POSIX TZ strings. A file name component must not exceed 14 characters or start with '-'. E.g., prefer Asia/Brunei to Asia/Bandar_Seri_Begawan. Exceptions: see the discussion of legacy names below.
  14. ^ "Timezone identifiers". Theory and pragmatics of the tz code and data. Keep locations compact. Use cities or small islands, not countries or regions, so that any future changes do not split individual locations into different timezones. E.g., prefer Europe/Paris to Europe/France, since France has had multiple time zones.
  15. ^ "Timezone identifiers". Theory and pragmatics of the tz code and data. Here are the general guidelines used for choosing timezone names, in decreasing order of importance: ... If a name is ambiguous, use a less ambiguous alternative; e.g., many cities are named San José and Georgetown, so prefer America/Costa_Rica to America/San_Jose and America/Guyana to America/Georgetown. ... Use the most populous among locations in a region, e.g., prefer Asia/Shanghai to Asia/Beijing. Among locations with similar populations, pick the best-known location, e.g., prefer Europe/Rome to Europe/Milan.
  16. ^ "Timezone identifiers". Theory and pragmatics of the tz code and data. If a name is changed, put its old spelling in the 'backward' file. This means old spellings will continue to work. Ordinarily a name change should occur only in the rare case when a location's consensus English-language spelling changes; for example, in 2008 Asia/Calcutta was renamed to Asia/Kolkata due to long-time widespread use of the new city name instead of the old.
  17. ^ Paul Eggert (21 December 2012). "Re: zoneinfo : ist : error". tz (Mailing list).
  18. ^ Olson, Arthur David (6 January 2010). "RE: little nuance in brazil 1963". tz (Mailing list).
  19. ^ 1979년까지 독일에서 DST한여름 DST, Physikalisch-Technische Fundesanstalt.(2010)
  20. ^ "Unicode Locale Extension ('u') for BCP 47". CLDR – Unicode Common Locale Data Repository.
  21. ^ "Unicode Locale Data Markup Language (LDML), Part 4: Dates". section 5, Time Zone Names.
  22. ^ "Olson time zone support and setup". AIX 7.1 information. IBM. Retrieved 12 March 2011.
  23. ^ "Managing the Time Zone Variable". IBM. 2 February 2007. Retrieved 14 September 2018.
  24. ^ a b "AIX O/S updated to support 2007 Daylight Saving Time change". IBM. 18 October 2007. Retrieved 12 March 2011.
  25. ^ "2007 daylight savings [sic] time changes for Unix". Academic Computing and Communications Center, University of Illinois at Chicago. 25 February 2007. Archived from the original on 1 August 2012. Retrieved 18 March 2008.
  26. ^ Wickremasinghe, Christopher (30 March 2009). "Introduction of daylight saving time in Western Australia 2006". AIX Wiki. IBM. Retrieved 11 March 2011.
  27. ^ "ZoneId". developer.android.com.
  28. ^ Release 4.0 Change Notes for the Sun Workstation (PDF). Sun Microsystems. 19 January 1987. p. 4.
  29. ^ "ECMAScript 2015 Internationalization API Specification". ecma-international.org (2nd ed.). June 2015. Retrieved 14 January 2020. The ECMAScript 2015 Internationalization API Specification identifies time zones using the Zone and Link names of the IANA Time Zone Database. Their canonical form is the corresponding Zone name in the casing used in the IANA Time Zone Database. ... It is recommended that implementations use the time zone information of the IANA Time Zone Database.
  30. ^ "TZDB library moved to GitHub on April 23, 2014". Retrieved 21 October 2015.
  31. ^ Oracle Database Globalization Support Guide 10g Release 1 (10.1): Chapter 4, Section "Choosing a Time Zone File". Oracle Corporation. June 2004. pp. 4–14. Part No. B10749-02. Archived from the original on 1 December 2008. Retrieved 30 October 2007.
  32. ^ "Windows → Tzid". Unicode Consortium. 12 November 2007. Retrieved 17 February 2008.
  33. ^ Olson, Arthur David (24 November 1986). "seismo!elsie!tz ; new versions of time zone stuff". tz (Mailing list).
  34. ^ "Astrolabe, Inc. v. Olson et al". 6 October 2011. Retrieved 6 October 2011.
  35. ^ a b "ASTROLABE, INC., Plaintiff, v. ARTHUR DAVID OLSON and PAUL EGGERT, Defendants" (PDF). 30 September 2011. Retrieved 7 October 2011.
  36. ^ Olson, Arthur David (6 October 2011). "Civil suit; ftp shutdown; mailing list shutdown". tz (Mailing list). Retrieved 27 October 2018.
  37. ^ "Time zone database shut down". The Daily Parker. 6 October 2011. Retrieved 6 October 2011.
  38. ^ "Time-zone database – Astrolabe's opinion". Stephen Colebourne's blog. 13 October 2011. Retrieved 26 October 2011.
  39. ^ "EFF Wins Protection for Time Zone Database". Electronic Frontier Foundation. 22 February 2012. Retrieved 22 February 2012.
  40. ^ "Time Zone Database". IANA.

외부 링크

일반

공식 IANA 소스

맨 페이지

  • zic(8)Linux 관리 및 특권 명령 매뉴얼(tz 데이터베이스용 소스 파일 구문 제공)
  • tzfile(5)Linux 파일 형식 설명서(컴파일된 tz 데이터베이스 파일 형식 제공)