2012-01-27 11 views
1

2つの日付からの時間差を計算したいと思います。したがって、この例では...だけ返される時間は、同じ日に対応して、私は2010年使用する場合でも、時間差は24どのようにを超えたことはありません:DateTime :: diffは現在の日のみを計算します - PHP

$date_now = new DateTime(date("Y-m-d H:i:s")); 
$date_db = new DateTime("2010-01-24 01:01:25"); 

$difference = $date_now->diff($date_db); 

echo $difference->h; 

問題:これは私のコードです私はこれを解決することはできますか?チェーンアップし、さらに任意の間隔で

+0

ふふ、私はこれはそれらの一つだと思います*「DOH!私は私が知っていたかなり確信している」*瞬間:) – rdlowrey

+0

ハハ!正確に... –

答えて

3

あなたが時間を得るとき、それは現在の日の唯一の時間です。さもなければ、その情報はほとんどの文脈で役に立たないでしょう。あなたは

間隔として出力をフォーマットしたい場合Xヶ月、Y日、およびZ時間をされて考えてみましょう。

あなたが想定してDateIntervalオブジェクトの時間変数が働いた場合は、

間隔は1ヶ月、35日、および2108時間であるような出力で終わることができました。だから、

あなたはだけ時間としてそれを提示したい場合、あなたはdocumentation on the DateInterval classによると、日の時間を合計し、現在の日の時間にそれを追加する必要があります。

$difference->h + $difference->d * 24; 
2

echo $difference->h + $difference->d * 24;

と同様に、必要に応じて...当然

+0

ありがとう、それはまさに私が探していたものです –

0
$diff = intval((time() - strtotime('2010-01-24 01:01:25'))/3600); 
関連する問題