2014-01-24 6 views
-2

Я пытаюсь получить количество минут между двумя DateTimes в PHP:минут между двумя DateTimes в PHP

$time = new DateTime($dateString); 
$now = new DateTime; 
$diff = $time->diff($now); 

echo $diff->format('%m'); 

Результат всегда 0, хотя DateTimes несколько часов. Как бы я сделал это правильно?

+0

Возможный дубликат ** http: //stackoverflow.com/q/21088739/67332**? –

ответ

7

%m в течение нескольких месяцев. Протокол является %i:

echo $diff->format('%i'); 
+0

Так много для моих навыков чтения ... ^^ – Boris

+1

Здесь вы можете увидеть все форматы документации PHP: http://fr2.php.net/manual/en/function.date.php – ChoiZ

+0

Один вопрос: делает это вернуть TOTAL количество минут? Или количество минут MODULO часов? (если вы понимаете, что я имею в виду) – Boris

2

Общее количество минут между 2 DateTimes:

$diff = (new DateTime($string))->diff(new DateTime); # PHP >= 5.4.0 
#$diff = date_diff(date_create($string), date_create()); # PHP >= 5.3.0 
$minutes = ($diff->days * 24 + $diff->h) * 60 + $diff->i; 

demo

1

В этом случае я хотел бы сохранить его простым и использовать разницу между отметками времени/60: -

$minutes = ($date2->getTimestamp() - $date1->getTimestamp())/60; 

See it working.

 Смежные вопросы

  • Нет связанных вопросов^_^