2016-03-20 3 views
0

Я пытаюсь получить разницу во времени между текущей датой и другой датой в php, но я получаю неправильные результаты. Ее мой код до сих пор:Попытка получить разницу в часах между двумя датами

function hoursDifference($date) 
{ 
    return round((time()- strtotime($date))/3600); 
} 

Дата вход: 2016-03-20 3:55:51, но текущее время, используя формат 24 часов, так что Н 15 вместо 3 и функция возвращает правильную 12-часовую разницу во времени. Как я могу это исправить?

+0

Посмотрите на [DateTime :: дифф] (http://php.net/manual/en/ datetime.diff.php) – fusion3k

+0

дубликат: http://stackoverflow.com/a/3923228/2087463 – tmthydvnprt

ответ

0

В течение 12 часов Дата вместо 24 часов Дата использования нижнего регистра «h». Вы также должны взглянуть на DateTime::diff как @ fusion3k.

This link также должен помочь вам по параметрам, которые вы можете использовать на своей $ date.

0

Попробуйте с этим

function hoursDifference($date) 
{ 
    return round(strtotime(date("Y-m-d h:i:s")) - strtotime($date))/3600); 
} 
0

использовать DateTime объекта: http://php.net/manual/de/class.datetime.php

echo hoursDifference("2016-03-20 12:13:12"); 

function hoursDifference($date) 
{ 
    $d = new DateTime($date); 
    $now = new DateTime(); 
    $iv = $now->diff($d); 
    return $iv->h; 
} 
Смежные вопросы