UNIX timestampを通常時刻に変換したい時
例えばMySQLのスロークエリログなど、各種ログに記録されるUNIX timestamp。
そのままではいつのことか分からない。
が、以下のコマンドで通常日時に変換してもらえるのだ。
rubyが利用できる環境であるのが前提だが、、、
(以下をそのままコピペするとゴミが混ざってるかもしれないので、整形してください)
# ruby -e ‘p Time.at(1274286630)’
Thu May 20 01:30:30 JST 2010
これだけ。カッコ内に調べたい時刻の値を入れる。
逆に通常時刻をUNIXtimestampに変換するには。
# ruby -e ‘require “time” ;t=Time.parse(“2010/5/20 01:30:30″); p t.to_i’
1274286630
実際、以下からの引用です。ちょっと、いいこと知ったと思った。
↓ ↓ ↓
http://www.math.kobe-u.ac.jp/~kodama/tips-DateTime-transform.html
追記
おなじみのdateコマンドでも可能であることを知った。
指定のUNIXtimestampを通常時刻に変換
# date -d “1970-1-1 GMT +1275099000 second”
Sat May 29 11:10:00 JST 2010
指定の通常時刻をUNIXtimestampに変換
# date -d “2010-5-29 11:10″ +%s
1275099000
現在時刻をUNIXtimestampに変換
# date +%s
こちらで見つけました。
↓ ↓ ↓
http://d.hatena.ne.jp/beatspace9/20081017/1224264749
さらに追記
以下の超簡単シェルをつくってみた。
#!/bin/bash
echo “Enter UNIX timestamp.”
read time
echo `date -d “1970-1-1 GMT +$time second”`
シェルを実行すると入力待ちになるので、変換したいUNIX timestampを入力すればよい。
しつこく追記
こっちの方がいい。
#!/bin/bash
time=$1
echo `date -d “1970-1-1 GMT +$time second”`
シェルの引数に、調べたいunixtimestampを指定すればよい。