Unixタイムスタンプを日付文字列に変換する 質問する

Unixタイムスタンプを日付文字列に変換する 質問する

Unix コマンドラインから Unix タイムスタンプを日付に変換する簡単な方法はありますか?

date動作するかもしれませんが、各要素 (月、日、年、時間など) を指定するのがかなり面倒で、適切に動作させる方法がわかりません。もっと簡単な方法があるようですが、何か見落としているのでしょうか?

ベストアンサー1

からdateGNU コアユーティリティできるよ:

date -d "@$TIMESTAMP"
# date -d @0
Wed Dec 31 19:00:00 EST 1969

(から:BASH: Unix タイムスタンプを日付に変換する

OS X では、 を使用しますdate -r

date -r "$TIMESTAMP"

代わりに を使用しますstrftime()。シェルから直接使用することはできませんが、驚いて見る指定子は、%cロケールに依存した方法でタイムスタンプを表示します。

echo "$TIMESTAMP" | gawk '{print strftime("%c", $0)}'
# echo 0 | gawk '{print strftime("%c", $0)}'
Wed 31 Dec 1969 07:00:00 PM EST

おすすめ記事