コマンドラインで日付文字列を現在のタイムゾーンに変換する方法は?


11

たとえば2011-11-13 08:11:02 +0000、コマンドラインで日付/時刻文字列をローカルタイムゾーンに変換するにはどうすればよいですか?


別の回答を追加することをheしないでください。ただし、OS XにはdateGNUではなくBSD がありますdate。オプションはまったく異なります。
ダニエルベック

回答:


17

を使用しdate -jf "<input format>" "<input value>" +"<output format>"ます。

以下は、UTC日付をローカルタイムゾーン(CET)に変換します。

$ date -jf "%Y-%m-%d %H:%M:%S %z" "2011-11-13 08:11:02 +0000" +"%Y_%m_%d__%H_%M_%S"
2011_11_13__09_11_02

入力と出力の両方に同じ日付形式を指定した場合、時刻はローカルタイムゾーンにのみ変換されます。しかし、例のように、それをフォーマット変換と組み合わせることができます。


2
ターゲットのタイムゾーンを一時的に設定することで変更することができます$TZTZ=EST date -jf %H%z 23+0100 +%I%p05PM
LRI
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.