twitter APIの created_at をタイムスタンプに変換

bot製作で、しょうもないところではまったのでメモ。


DBに持っているtimestampやら、現在時間やらと、
つぶやきのつぶやかれた時間とを比較したかったんですが、
twitter APIのレスポンスでは、"created_at"という名前で、各データの作成日が返ってきます。
フォーマットは "Sat Oct 10 19:15:29 +0000 2009" ってな感じです。




これはRFCで定義されてるフォーマットっぽいんですが、*1
これをphpで、どうやってタイムスタンプに変換するのかが、よくわからなかった。


結論としては、

strtotime($time_str);

で、良かった。な、な〜んだ・・・
これが、UNIX時間で返ってくるので、比較する時間をDBから取ってくるときにUNIX_TIMESTAMP()(MySQL)をかけたり、
そもそもtime()はUNIX時間だったりで、かなり簡単に比較ができるっぽい。


でも、strtotime()って便利なんだけど、
フォーマットを指定する引数もなしで、全部やってくれちゃうので、本当にあってるのかちょっと不安になる。
つか第二引数の意味がよくわかりません><
一応動いてるっぽいから良いけど。。。


お仕事では、タイムスタンプをほぼほぼ使わないのもあるけど、変なところではまっちゃった。


 

*1:phpのDateTimeクラスで定義されている、DATE_RFC1123またはDATE_RFC2822それともDATE_RSS? よくわかりません><