CLIで自分のタイムゾーンとは異なる時計を取得するにはどうすればよいですか?

CLIで自分のタイムゾーンとは異なる時計を取得するにはどうすればよいですか?

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

関連情報