tzdata 데이터베이스는 정확히 어떻게 사용됩니까?


10

운영 체제에 따라 일광 절약 시간 (DST)을 다르게 처리하는 것 같습니다. 나는 매우 간단하고 DST가 시작하고 끝나는 날짜와 시간을 변경할 수있는 Cisco IOS 접근 방식을 정말 좋아합니다. 예를 들면 다음과 같습니다.

clock summer-time EDT recurring 2 Sun Mar 2:00 1 Sun Nov 2:00 60

..3 월 둘째 주 일요일 2:00에 시계를 60 분 앞으로 설정하고 11 월 첫째 일요일 2:00에 시계를 60 분 뒤로 이동합니다. 리눅스가 DST를 어떻게 다루는가? tzdata시간대 데이터 파일이 들어 있는 패키지가 있으며 해당 파일이 /usr/share/zoneinfo/디렉토리에 설치되어 있음을 알고 있습니다 . 이러한 파일은 어떻게 그리고 어떤 유틸리티로 사용됩니까? 파일에서 UTC (2) 및 표준 시간대 이름 (EET 및 EEST)에서 변경된 것을 볼 수 있습니다.

T60:~# strings /usr/share/zoneinfo/posix/Europe/Helsinki
TZif2
    HMT
EEST
TZif2
EEST
EET-2EEST,M3.5.0/3,M10.5.0/4
T60:~# 

또한 M3아마도 세 번째 달이며 M10열 번째 달입니까? 또한 오프셋도 어딘가에 지정해야합니다. 예를 들어 IOS에서는 DST가 발생하면 시계가 60이 아닌 90 분 또는 120 분 이동하도록 구성 할 수 있습니다.

답변:


4

당신은 한 번 봐 걸릴 경우 TZ 데이터베이스에 대한 위키 백과 페이지 :

발췌

파일 형식

tz 데이터베이스는 규칙 및 영역 전환을 사람이 읽을 수있는 형식으로 나열하는 텍스트 파일 세트로 게시됩니다. 사용하기 위해 이러한 텍스트 파일은 표준 시간대별로 하나씩 플랫폼 독립적 바이너리 파일 세트로 컴파일됩니다. 참조 소스 코드에는 zic (zone information compiler)이라는 컴파일러와 해당 파일을 읽고 localtime () 및 mktime ()과 같은 표준 API에서 사용하는 코드가 포함됩니다.

추가 검색 을 통해 파일 형식에 대한 추가 정보가있는 시간대 데이터베이스 파일 형식 질문 이라는 제목의 스택 오버 플로우 에서이 Q & A가 나타났습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.