日付 から 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 で時間指定のグラフを描く場合なんかでよく使う。