본문 바로가기
컴퓨터 관련/Linux || Unix

[Linux] zdump 로 지역별 GMT/ DST 알아내기

by _BlankSpace 2018. 6. 7.

1. zdump 란?


zdump는 우분투에서 제공하는 명령어 중 하나이다.

용도는 각 지역 별로 타임존 덤프를 읽는 명령어라고 보면 될 것 같다.


타임존은 GMT와 DST와 관련이 있는데, 이러한 용어를 모른다면 다음 링크를 참고해보자.

[GMT 알아보기]

[DST는 나중에 정리할 기회가 생기면, 관련 링크를 달겠습니다.]


zdump의 사용 구문은 다음과 같습니다.

1
zdump [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] [ zonename ... ]
cs


위의 구문에 맞게 zdump를 사용하면, 각 지역 이름의 현재 시간과 관련 정보가 출력됩니다.

각 플래그는 다음과 같습니다.


플래그 

설명 

-c [loyear,] hiyear

연도를 지정하면 연도에 맞는 시간 정보가 출력된다.

이때, loyear와 hiyear을 둘 다 입력한다면, 사이에 있는 정보를 출력할 수도 있다. 

-v

다음 정보가 출력된다.

- 현재 시간

- 가장 낮은 가능한 시간 값의 시간

- 가장 낮은 가능한 시간 값에서 하루 후의 시간

- 로컬 시간 계산을 위해 규칙이 변경될 때 정확한 각 시간과 1초 전 모두

- 가능한 가장 높은 시간 값의 시간

- 가능한 가장 높은 시간 값보다 하루 낮은 시간


해당 시간이 DST(일광 절약 시간)인 경우 각 행은 isdst=1로 끝나고, 그렇지 않으면 isdst=0으로 끝난다.


2. zdump 사용 예


실제로 zdump를 사용하는 예를 보자.


아래 출력 내용은 서울을 zdump로 출력한 결과이다.

서울 같은 경우에는 dst를 적용하지 않아서, 따로 isdst가 1인 경우는 없는 것을 볼 수 있다.

1
2
3
4
5
6
7
8
9
bs@ubuntu:zoneinfo$ zdump -v Asia/Seoul 
Asia/Seoul  -9223372036854775808 = NULL
Asia/Seoul  -9223372036854689408 = NULL
Asia/Seoul  Tue Mar 31 15:32:07 1908 UT = Tue Mar 31 23:59:59 1908 LMT isdst=0 gmtoff=30472
Asia/Seoul  Tue Mar 31 15:32:08 1908 UT = Wed Apr  1 00:02:08 1908 KST isdst=0 gmtoff=30600
Asia/Seoul  Sun Dec 31 15:29:59 1911 UT = Sun Dec 31 23:59:59 1911 KST isdst=0 gmtoff=30600
Asia/Seoul  Sun Dec 31 15:30:00 1911 UT = Mon Jan  1 00:30:00 1912 JST isdst=0 gmtoff=32400
Asia/Seoul  Fri Sep  7 14:59:59 1945 UT = Fri Sep  7 23:59:59 1945 JST isdst=0 gmtoff=32400
...
cs


추가로, 뉴욕을 예로 보면 다음과 같은 결과가 나온다.

이번에는 -c 플래그를 이용하여 특정 연도만 출력하도록 하였다.

미국은 dst를 적용하는 나라여서, 위의 서울과는 다르게 isdst가 1인 경우를 볼 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
bs@ubuntu:zoneinfo$ zdump -v America/New_York -2018,2020
America/New_York  -9223372036854775808 = NULL
America/New_York  -9223372036854689408 = NULL
America/New_York  Sun Mar 11 06:59:59 2018 UT = Sun Mar 11 01:59:59 2018 EST isdst=0 gmtoff=-18000
America/New_York  Sun Mar 11 07:00:00 2018 UT = Sun Mar 11 03:00:00 2018 EDT isdst=1 gmtoff=-14400
America/New_York  Sun Nov  4 05:59:59 2018 UT = Sun Nov  4 01:59:59 2018 EDT isdst=1 gmtoff=-14400
America/New_York  Sun Nov  4 06:00:00 2018 UT = Sun Nov  4 01:00:00 2018 EST isdst=0 gmtoff=-18000
America/New_York  Sun Mar 10 06:59:59 2019 UT = Sun Mar 10 01:59:59 2019 EST isdst=0 gmtoff=-18000
America/New_York  Sun Mar 10 07:00:00 2019 UT = Sun Mar 10 03:00:00 2019 EDT isdst=1 gmtoff=-14400
America/New_York  Sun Nov  3 05:59:59 2019 UT = Sun Nov  3 01:59:59 2019 EDT isdst=1 gmtoff=-14400
America/New_York  Sun Nov  3 06:00:00 2019 UT = Sun Nov  3 01:00:00 2019 EST isdst=0 gmtoff=-18000
...
cs


댓글