0

日数の差を計算しようとしていますが、この関数を時間単位で返す必要があります。

さて、私のテストでは、コードに従ってください:

<?php

$date1 = new DateTime('2014-05-15 11:00:00');
$date2 = new DateTime('2014-05-14 08:00:00');
$date3 = new DateTime('2014-05-16 10:00:00');
if($date1 != $date2){
    $diff = $date3->diff($date2);

    if($diff->format('%r%h') > 3){
        echo 'error';
        echo '<br />';
        echo $diff->format('%r%h');
    }else{
        echo 'ok';
        echo '<br />';
        echo $diff->format('%r%h');
    }

}else{
    echo 'OK';
}
?>

この場合、フォーマットされた値で「echo」を呼び出すと、値は常に「0」になります。PHP は時間の差のみを計算します。時間単位の実際の収益が必要な場合は、手動で値を計算する必要がありますか? お気に入り:

$days = ($diff->format('%d') * 24 * 60);

このケースを解決するためのより良い方法がありませんか?

4

0 に答える 0