日数の差を計算しようとしていますが、この関数を時間単位で返す必要があります。
さて、私のテストでは、コードに従ってください:
<?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);
このケースを解決するためのより良い方法がありませんか?