쿼리 기간 동안 시간대를 설정할 수 있습니다.
TZ=America/New_York date
TZ
설정과 date
명령 사이에 공백이 있습니다. Bourne과 rc
같은 쉘 TZ
에서 명령 행에 대해서만 변수 를 설정합니다 . 다른 쉘 (년 csh
, tcsh
, fish
), 당신은 항상 사용할 수있는 env
대신 명령을 :
env TZ=America/New_York date
tl; dr
Linux 시스템에서. 시간대는 /usr/share/zoneinfo
디렉토리의 파일에 정의되어 있습니다 . 이 구조는 창립 기고자를 기리기 위해 "올슨 데이터베이스"라고도합니다.
각 시간대에 대한 규칙은 텍스트 파일 행으로 정의 된 다음 이진 파일로 컴파일됩니다. 이렇게 컴파일 된 행은 영역 이름을 정의합니다. 영역이 적용되는 데이터 및 시간 범위; 표준 시간에 대한 UTC로부터의 오프셋; 해당되는 경우 일광 절약 시간으로 전환하는 방법을 정의하는 표기법.
예를 들어, "America"디렉토리에는 America/New_York
위에서 사용한 파일에 뉴욕에 대한 필수 정보가 들어 있습니다 .
존재하지 않는 영역 (파일 이름)의 사양은 자동으로 무시되고 UTC 시간이보고됩니다. 예를 들어 잘못된 시간을보고합니다.
TZ="America/New York" date ### WRONG ###
SUSv3 또는 POSIX-2001로 알려진 단일 UNIX 사양 버전 3은 이식성을 위해 표준 시간대 설명을 식별하는 문자열이 콜론 문자로 시작해야한다고 언급합니다. 따라서 다음과 같이 쓸 수도 있습니다.
TZ=":America/New_York" date
TZ=":America/Los_Angeles" date
설명 파일에 대한 경로 이름을 사용하여 표준 시간대를 지정하는 다른 방법으로 SUSv3은 POSIX 모델을 설명합니다. 이 형식에서 문자열은 다음과 같이 정의됩니다.
std offset [dst[offset][,start-date[/time],end-date[/time]]]
여기서 std
표준 구성 요소 이름 dst
은 일광 절약 시간제입니다. 각 이름은 세 개 이상의 문자로 구성됩니다. 는 offset
자오선의 그 동쪽에 서쪽 본초 자오선의 시간대에 긍정적 및 부정적이다. UTC (구 GMT)를 얻기 위해 현지 시간에 오프셋이 추가됩니다. start
및 end
표준 / 일광 전환이 발생하면 시간 필드를 나타냅니다.
예를 들어 미국 동부에서 표준 시간은 UTC보다 5 시간 EST5EDT
빠르며 대신 대신 지정할 수 있습니다 America/New_York
. 그러나 이러한 대안은 특히 미국 이외의 지역에서 항상 인식되는 것은 아니며 피하는 것이 가장 좋습니다.
HP-UX (SUSv3 호환 UNIX)는 텍스트 규칙 /usr/lib/tztab
과 EST5EDT, CST6CDT, MST7MDT, PST8PDT와 같은 POSIX 이름을 사용합니다. 파일에는 Olson 데이터베이스와 유사하게 각 시간대에 대한 모든 히스토리 규칙이 포함됩니다.
참고 : 다음 디렉토리를 검사하여 모든 시간대를 찾을 수 있어야합니다 /usr/share/zoneinfo
..