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=UTC
UTC
答え2
インターネット検索の後、次のコマンドを使用してこれを行う方法を見つけましたdate
。
$ date --date "Jan 1, 1970 00:00:00 +0000 + 1282367908 seconds"
Sat Aug 21 09:18:28 MSD 2010
答え3
次の1行のPerlコードでこれを行うことができます。
$ perl -e 'print scalar localtime $ARGV[0]' 1282367908
Sat Aug 21 09:18:28 2010
答え4
OSXではUTCを使用してください。
date -r "1475737200" -u