コマンドラインからUNIXタイムスタンプのフォーマットされた日付を取得する方法

コマンドラインからUNIXタイムスタンプのフォーマットされた日付を取得する方法

UNIXタイムスタンプがあり、dateそのタイムスタンプに対応するフォーマットされた日付を取得したい(例:の出力)。

これまでの私の試みは次のとおりです。

$ date +%s
1282367908
$ date -d 1282367908
date: invalid date `1282367908'
$ date -d +1282367908
date: invalid date `+1282367908'
$ date +%s -d +1282367908
date: invalid date `+1282367908'

次のような結果が出ることを願っています。

$ TZ=UTC somecommand 1282368345
Sat Aug 21 05:25:45 UTC 2010

ベストアンサー1

Mac OS XとBSDの場合:

$ date -r 1282368345
Sat Aug 21 07:25:45 CEST 2010
$ date -r 1282368345 +%Y-%m-%d
2010-08-21

GNUコアツールの使用(これを行うには、情報ファイルを詳しく調べる必要があります):

$ date -d @1282368345
Sat Aug 21 07:25:45 CEST 2010
$ date -d @1282368345 --rfc-3339=date
2010-08-21

-u(標準)オプションを追加するか、TZ=UTC0環境変数を渡してUTC日付(TZ=UTC0 定義UTCオフセット0(オフセットなし)で呼び出されるタイムゾーンの動作はUTC指定されていません(ほとんどのシステムでは、UTCオフセット0でも呼び出されるシステム定義のタイムゾーンを参照します)。TZ=UTCUTC

おすすめ記事