UNIX timestampを通常時刻に変換したい時

5月 25, 2010

例えば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を指定すればよい。


Categories: Linux