システム基本タイムゾーンの時間を取得する

システム基本タイムゾーンの時間を取得する

リモートシステムXにログインすると、デフォルトでローカルタイムdateゾーンの時間が表示されます。

$ date
Mon Nov 17 22:45:47 CET 2014

以下はTZ設定されていません。

$ export | grep TZ
$ 

だから私はTZ私が使っている各コンピュータを一意のローカルタイムゾーンに設定しました。

$ export TZ=/usr/share/zoneinfo/Canada/Eastern
$ date
Mon Nov 17 16:46:13 EST 2014

問題は、一度このセットを持っていればシステム基本タイムゾーンの時間を取得する方法つまり、ユーザーが手動で設定していない場合、どのタイムゾーンが適用されますかTZ未設定 TZ欲しい時間ではなくUTC時間を教えてください。

$ TZ= date
Mon Nov 17 21:47:13 UTC 2014

興味深いことにTZ= date何も設定していなくてもTZUTC時間が与えられますが、TZ何も設定しなかったときはdateシステムのデフォルトタイムゾーンの日付だけが与えられます。

ベストアンサー1

変数の設定を解除してみてくださいTZ(設定とは異なります"")。

$ (date; export TZ=/usr/share/zoneinfo/Canada/Eastern; date; unset TZ; date)
Tue Nov 18 03:25:25 IST 2014
Mon Nov 17 16:55:25 EST 2014
Tue Nov 18 03:25:25 IST 2014

現在のシェルが影響を受けないように、サブシェルでこれを試す方法に注意してください。

おすすめ記事