Дата Различия Не давая право Часы

У меня проблемы с датой diff. Например

            $nToday = date("Y-m-d h:i:s");
$deliveryDateNoon = $_SESSION['sp_date']." 12:00:00";

$date1 = new DateTime($nToday);
$date3 = new DateTime($deliveryDateNoon);
$diffNoon = $date3->diff($date1);
$hrs = $diffNoon->format('%h');

$ntoday="2014-10-30 10:01:46"
$deliveryDateNoon="10/31/2014 12:00:00"

Значение, которое я получаю за $hrs это … 1

-1

Решение

Этот результат верен. date_diff() возвращает DateInterval это общее количество лет, месяцев, дней, часов, минут и секунд, различающихся между двумя датами.

Например: 1 день 1 час 58 минут 14 секунд. Когда вы пытаетесь получить hours из этого вы получите 1, а не общее количество часов, как вы ожидаете. Вам нужно сделать математические вычисления даты, чтобы преобразовать этот интервал в разницу часов.

$hrs = $diffNoon->format('%h') + ($diffNoon->days * 24);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]