CLI에서 다른 시계나 시간에 대해 호출하거나 알아볼 수 있는 방법이 있습니까? 문제는 UTC+5:30 시간을 사용하지만 때로는 다른 시간대의 시간을 알아야 한다는 것입니다. 이를 이해하는 CLI 방법이 있다면 도움이 될 것입니다.
답변1
man date
나는 당신이 이미 대답을 가지고 있다고 생각합니다 .
ENVIRONMENT
The following environment variables affect the execution of date:
TZ The timezone to use when displaying dates. The normal format is a pathname
relative to /usr/share/zoneinfo. For example, the command
``TZ=America/Los_Angeles date'' displays the current time in California. See
environ(7) for more information.
/usr/share/zoneinfo
시간대 이름.
답변2
date
변수를 변경하여 사용할 시간대를 변경할 수 있습니다.TZ
예를 들어
$ date
Sun Oct 11 01:42:44 CEST 2015
$ TZ=US/Pacific date
Sat Oct 10 16:43:14 PDT 2015
$ TZ=UTC date
Sat Oct 10 23:44:04 UTC 2015
답변3
다른 사람들이 언급했듯이 TZ
환경 변수는 영향을 받습니다 date
. 그러나 대부분의 경우에는 원하지 않습니다.떠나다 TZ
변경하세요. 환경에 영향을 주지 않고 해당 시간대의 시간을 확인하고 싶을 뿐입니다.
이를 위해 사용하는 가장 좋은 도구는 맨 페이지 env
에서 다음과 같습니다.env
NAME
env - run a program in a modified environment
SYNOPSIS
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
따라서 이 경우 원하는 명령은 다음과 같습니다.
env TZ='EST' date
시간대에 대해 허용되는 다른 형식도 많이 있습니다. 특별한 요구 사항이 있는 경우 man timezone
유효한 시간대 형식을 설명하는 내용을 읽어 보는 것이 좋습니다 .
답변4
나는 몇 개의 TZ만 자주 확인하면 된다고 가정합니다. 이러한 가정을 염두에 두고 확인해야 하는 각 TZ에 대한 별칭이나 기능을 설정하는 것이 유용할 수 있습니다. 별칭은 간단합니다..
alias est="TZ=US/Eastern date"
함수 정의는 다음과 같습니다.
est() { TZ=US/Eastern date ; }
각 TZ에 대한 기능을 정의하면 TZ에 대한 변경 사항을 격리할 수 있다는 추가 이점이 있습니다. 즉, TZ에 할당된 값은 함수가 끝나면 사라지고, 쉘로 돌아오면 원래 값으로 돌아갑니다.
로그인할 때마다 이들 중 하나를 사용하려면 ~/.bash_profile에 포함해야 합니다. 이 중 하나를 수행한 후에는 새 셸을 열거나 로그아웃/로그인하고 를 사용하여 날짜/시간을 가져옵니다 est
.