cliでエポックタイムスタンプを人間が読める形式に変換するには?

cliでエポックタイムスタンプを人間が読める形式に変換するには?

cliでエポックタイムスタンプを人間が読める形式に変換するには?日付を使用してこれを行う方法があると思いますが、構文が混乱しています(他の方法も歓迎します)。

ベストアンサー1

*BSDから:

date -r 1234567890

Linux(特に GNU coreutils ≥5.3):

date -d @1234567890

以前のバージョンのGNU Dateでは、UTC時代との相対的な違いを計算できます。

date -d '1970-01-01 UTC + 1234567890 seconds'

移植性が必要な場合は幸運ではありません。 POSIXシェルコマンドを使用して(直接計算を実行せずに)行をフォーマットできる唯一の時間は、現在の時刻です。実際にPerlを使用できることが多いです。

perl -le 'print scalar localtime $ARGV[0]' 1234567890

おすすめ記事