PHPでTwitter APIで取得した日時と現在日時を比較する

やりたいこと

 

 

  • Twitter APIで取得した日時はこんな感じ

 

 

  • Sat Jul 27 23:51:57 +0000 2013

 

 

  • これと現在日時を比較したい

 

 

  • 処理しやすいようにUnixタイムスタンプに変換する

 

 

最初はクラスと関数を混ぜて書いてみたけど、クラスだけ、関数だけで書けるようなのでやってみた。

 

[php]

<?php

// DateTimeクラスで書く

$dt1 = new DateTime(); // 現在日時

$dt2 = new DateTime('Sat Jul 27 23:51:57 +0000 2013');

 

echo $dt1->format('U') - $dt2->getTimestamp();

[/php]

 

[php]

<?php

// 関数で書く

$dt3 = time(); // 現在日時

$dt4 = strtotime('Sat Jul 27 23:51:57 +0000 2013');

 

echo $dt3 - $dt4;

[/php]

 

実行結果はどちらも同じです。関数を使ったほうが短くかけるけど、クラスを使ったほうがあとで見直すときに何をやっているかわかりやすいのかもしれない。

format('U')とgetTimestamp()は同じ処理だけど後者のほうがわかりやすい。