時間の経過を調べる方法
指定時刻が、現在の時刻から何日経過しているか調べる。
//現在時刻のDateTime作成
$d1 = new DateTime(date("Y-m-d H:i:s"));
//指定時刻のDateTime作成
$d2 = new DateTime('2011-07-11 09:08:51');
echo $d1->getTimestamp();
echo "\n";
echo "\n";
echo $d2->getTimestamp();
echo "\n";
echo "\n";
//1日(24時間)足す
$d2->add(new DateInterval("P1D"));
echo $d2->getTimestamp();
echo "\n";
echo "\n";
//引き算してプラスだったら、24時間以上経っている。
echo $d1->getTimestamp() - $d2->getTimestamp();
echo "\n";
**************実行結果**************
1310429436
1310342931
1310429331
105
************************************
DateTime使えば、簡単に出来ると思ったのにDateIntervalのパラメータが使いにくい。
それに、なんかイヤだな・・・
↓普通に演算することにした・・・
$d1 = time();
$d2 = strtotime('2011-07-11 09:38:51');
echo $d1;
echo "\n";
echo "\n";
echo $d2;
echo "\n";
echo "\n";
echo $d1 - ($d2+60*60*24);
echo "\n";
echo "\n";
なんか、もっと良い方法ってないのかなぁ・・・
//現在時刻のDateTime作成
$d1 = new DateTime(date("Y-m-d H:i:s"));
//指定時刻のDateTime作成
$d2 = new DateTime('2011-07-11 09:08:51');
echo $d1->getTimestamp();
echo "\n";
echo "\n";
echo $d2->getTimestamp();
echo "\n";
echo "\n";
//1日(24時間)足す
$d2->add(new DateInterval("P1D"));
echo $d2->getTimestamp();
echo "\n";
echo "\n";
//引き算してプラスだったら、24時間以上経っている。
echo $d1->getTimestamp() - $d2->getTimestamp();
echo "\n";
**************実行結果**************
1310429436
1310342931
1310429331
105
************************************
DateTime使えば、簡単に出来ると思ったのにDateIntervalのパラメータが使いにくい。
それに、なんかイヤだな・・・
↓普通に演算することにした・・・
$d1 = time();
$d2 = strtotime('2011-07-11 09:38:51');
echo $d1;
echo "\n";
echo "\n";
echo $d2;
echo "\n";
echo "\n";
echo $d1 - ($d2+60*60*24);
echo "\n";
echo "\n";
なんか、もっと良い方法ってないのかなぁ・・・