현재 시간대 규칙을 어떻게 확인하나요?
(,, ) 설정하는 방법은 알아냈는데 tzdata
다른 방향으로 가는 방법은 잘 모르겠습니다. (그 안의 파일은 바이너리이므로 읽을 수 없습니다. 어쩌면 컴파일되었을 수도 있습니다.)zic
/etc/timezone
/usr/share/zoneinfo
zic
TZ 규칙이 적용되어 있는지 그리고 어떤 TZ 규칙이 있는지 어떻게 알 수 있나요(예: DST로의 전환)?
답변1
이미 알고 있듯이 zic
소스 영역 파일을 .NET 파일에서 볼 수 있는 바이너리로 컴파일합니다 /usr/share/zoneinfo
. 매뉴얼 페이지 하단에는 zdump
아마도 찾고 있는 도구( ) 에 대한 참조가 숨겨져 있습니다 zdump - time zone dumper
.
다음은 프랑스에서 사용되는 시간대에 대한 몇 가지 예제 출력으로, 2017년과 2018년 2년 동안의 DST 점프 날짜/시간을 보여줍니다.
zdump -V -c 2017,2019 Europe/Paris
Europe/Paris Sun Mar 26 00:59:59 2017 UT = Sun Mar 26 01:59:59 2017 CET isdst=0 gmtoff=3600
Europe/Paris Sun Mar 26 01:00:00 2017 UT = Sun Mar 26 03:00:00 2017 CEST isdst=1 gmtoff=7200
Europe/Paris Sun Oct 29 00:59:59 2017 UT = Sun Oct 29 02:59:59 2017 CEST isdst=1 gmtoff=7200
Europe/Paris Sun Oct 29 01:00:00 2017 UT = Sun Oct 29 02:00:00 2017 CET isdst=0 gmtoff=3600
Europe/Paris Sun Mar 25 00:59:59 2018 UT = Sun Mar 25 01:59:59 2018 CET isdst=0 gmtoff=3600
Europe/Paris Sun Mar 25 01:00:00 2018 UT = Sun Mar 25 03:00:00 2018 CEST isdst=1 gmtoff=7200
Europe/Paris Sun Oct 28 00:59:59 2018 UT = Sun Oct 28 02:59:59 2018 CEST isdst=1 gmtoff=7200
Europe/Paris Sun Oct 28 01:00:00 2018 UT = Sun Oct 28 02:00:00 2018 CET isdst=0 gmtoff=3600
자신의 시간대에 대한 DST 점프를 가져오는 것은 약간 번거롭지만 이 명령은 2017년의 DST 점프를 반환합니다. 여기서는 영국 시간대에 있고 시간대 라벨(여름/겨울 시간)이 BST/GMT인 것을 볼 수 있습니다.
zdump -V -c2017,2018 $(cat /etc/timezone)
Europe/London Sun Mar 26 00:59:59 2017 UT = Sun Mar 26 00:59:59 2017 GMT isdst=0 gmtoff=0
Europe/London Sun Mar 26 01:00:00 2017 UT = Sun Mar 26 02:00:00 2017 BST isdst=1 gmtoff=3600
Europe/London Sun Oct 29 00:59:59 2017 UT = Sun Oct 29 01:59:59 2017 BST isdst=1 gmtoff=3600
Europe/London Sun Oct 29 01:00:00 2017 UT = Sun Oct 29 01:00:00 2017 GMT isdst=0 gmtoff=0
/usr/share/zoneinfo
바이너리를 다시 규칙 파일로 디컴파일할 수 있는 도구는 없습니다 . 쉽게 사용할 수 있는 소스 규칙 세트로 시작하는 것이 더 쉬울 수도 있습니다.