시스템 시간을 변경하지 않고 다른 시간대의 현재 시간을 얻는 방법은 무엇입니까? [복사]

시스템 시간을 변경하지 않고 다른 시간대의 현재 시간을 얻는 방법은 무엇입니까? [복사]

다른 시간대의 시간을 가져오기 위해 "날짜"를 사용하려고 시도했지만 실패했습니다. Google에서 찾은 모든 방법에는 시스템의 시간대를 변경하는 것이 포함되지만 이는 내가 원하는 것이 아닙니다.

내 시간대와 다른 현재 시간을 반환하는 명령이 있나요?

답변1

시간대는 에 나열되어 있습니다 /usr/share/zoneinfo. 예를 들어, 싱가포르의 현재 시간을 원하는 경우 다음으로 전달할 수 있습니다 date.

TZ=Asia/Singapore date
Sun Jun 14 17:17:49 SGT 2015

이 프로세스를 단순화하기 위해 서로 다른 시간대에서 현지 시간을 자주 설정해야 하는 경우 쉘 rc 파일에 몇 가지 기능을 추가할 수 있습니다(예: .bashrc).

zones() { ls /usr/share/zoneinfo/"$1" ;}
zone() { TZ="$1"/"$2" date; }

첫 번째는 해당 정보를 갖춘 지역에 대한 올바른 구역 목록을 인쇄한 다음 현지 시간을 인쇄할 수 있습니다.

답변2

당신은 그것을 사용할 수 있습니다 zdump:

NAME
       zdump - timezone dumper

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

DESCRIPTION
       Zdump prints the current time in each zonename named on the command line.

예:

$ zdump ~$ zdump Iceland
Iceland  Sun Jun 14 09:40:30 2015 GMT

$ zdump Japan
Japan  Sun Jun 14 18:34:36 2015 JST

시간대 데이터 파일은 에 있습니다 /usr/share/zoneinfo.

언제든지 인쇄할 수도 있습니다 find /usr/share/zoneinfo/ -type f | xargs zdump. 두바이의 구체적인 예를 찾아볼 수 있습니다.

$ find /usr/share/zoneinfo/ -type f | xargs zdump | grep -i Dubai
/usr/share/zoneinfo/right/Asia/Dubai                      Sun Jun 14 13:38:26 2015 GST
/usr/share/zoneinfo/Asia/Dubai                            Sun Jun 14 13:38:51 2015 GST

당신은 그것을 사용할 수 있습니다 gworldclock:-

NAME
       gworldclock - Displays time and date in specified time zones.

SYNOPSIS
       gworldclock [ -f FILE ]

DESCRIPTION
       gworldclock  displays  the  time  and  date of specified time zones using a GTK+ interface. It also allows the
       zones to be "rendezvoused" or "synchronised" to a time other than the current time.

스크린샷

답변3

거의 모든 프로그램은 TZ환경 변수를 사용하여 시간대를 결정하고 변수가 설정되지 않은 경우 시스템 설정으로 돌아갑니다.

TZ=Pacific/Yap date
TZ=Pacific/Yap xclock

거의 모든 운영 체제(Windows 포함)에서 사용됩니다.IANA 데이터베이스. 대부분의 시간대 이름은 다음과 같은 형식입니다.Continent/Town도시일반적으로 자체 시간대 규칙을 정의하는 국가 또는 지역에서 가장 큰 도시입니다. CET중앙 유럽 표준시 및 EST동부 표준시 와 같은 일부 약어가 정의되어 있지만 로케일 간의 충돌로 인해 항상 예상한 것과 다를 수 있습니다(예: EST는 호주 시간이 아닌 미국 시간입니다). 시간대 규칙은 일반적으로 의 파일이나 유사한 위치에 의해 /usr/share/zoneinfo정의 됩니다 /usr/lib/zoneinfo./usr/lib/locale/TZ

가지다기준변수의 값도 마찬가지입니다 TZ. UTC로부터의 고정 오프셋을 원하는 경우 TZ=-4(GMT에서 동쪽으로 4시간) 또는 (GMT에서 서쪽으로 9.5시간) TZ=9:30과 같은 값을 사용할 수 있습니다.

관련 정보