UnixTimestamp から通常の時刻へ変換

参考:http://www.math.kobe-u.ac.jp/~kodama/tips-DateTime-transform.html

変換コマンドなど

現在の UNIX time

# date
$ date +"%s"
1170604923

# ruby
$ ruby -e 'p Time.now.to_i'
1170604923

# awk
$ gawk 'BEGIN{print systime();exit}'
1170604923

# perl
$ perl -e 'print time,"\n"'
1170604923

通常の時刻から UNIX time への変換

# date
$ date -d '2007/2/5 01:02:03' +'%s'
1170604923

# ruby1
$ ruby -e 'require "time";t=Time.parse("2007/2/5 01:02:03"); p t.to_i'
1170604923

# ruby2
$ ruby -e 'require "time";t=Time.parse("2007/2/5 01:02:03 JST"); p t.to_i'
1170604923

# ruby3
$ ruby -e 'require "time";t=Time.parse("2007/2/5 01:02:03 UTC"); p t.to_i'
1170637323

UNIX time から通常の時刻への変換

# ruby1
$ ruby -e 'p Time.at(1170604923)'
Mon Feb 05 01:02:03 JST 2007

# ruby2
$ ruby -e 't=Time.at(1170604923); p t.utc; p t.localtime'
Sun Feb 04 16:02:03 UTC 2007
Mon Feb 05 01:02:03 JST 2007

# ruby3
$ ruby -e 'p Time.at(1170604923).strftime("%Y/%m/%d %H:%M:%S")'
"2007/02/05 01:02:03"

# awk1
$ gawk 'BEGIN{print strftime("%c",1170604923);exit}'
Mon Feb  5 01:02:03 2007

# awk2
$ gawk 'BEGIN{print strftime("%Y/%m/%d %H:%M:%S",1170604923);exit}'
2007/02/05 01:02:03

# perl
$ perl -e '@t=localtime(1170604923);printf("%d/%02d/%02d %02d:%02d:%02d\n",@t[5]+1900,@t[4]+1,@t[3],@t[2],@t[1],@t[0])'
2007/02/05 01:02:03