unixtime と 日付 の相互変換

日付 から unixtime への変換方法

date コマンドに ‘+%s’ 引数をつけると unixtime で表示する。

$ date +%s
1108218628

特定の日付を変換したいときは、’–date’ オプションを利用する。

$ date +%s --date "2005-01-01 00:00"
1104505200

unixtime から 日付 への変換方法

$ date --date "@1104505200"
Sat Jan  1 00:00:00 JST 2005

ぼくが知る限り、date コマンドでは変換できない。このため、awk をもちいる。
awk でもできる。

$ echo 1104505200 | awk '{print strftime("%c",$1)}'
Sat Jan 1 00:00:00 2005

フォーマットをそろえる場合。

$ echo 1104505200 | awk '{print strftime("%Y-%m-%d %H:%M:%S",$1)}'
2005-01-01 00:00:00

rrdtool で時間指定のグラフを描く場合なんかでよく使う。

タイトルとURLをコピーしました