Функция date_diff неверна на 22 дня и 1 месяц. Что я могу сделать, чтобы это исправить? - PullRequest
0 голосов
/ 03 июля 2019

Мне нужна разница между установленным крайним сроком ($ _ SESSION ['time']) и временем, когда пользователь запускает задачу ($ _SESSION ['start_time']). Я использую date_diff, но результат неправильный. Буду очень признателен за советы, как это исправить. Я не видел эту ошибку раньше и ударил кирпичную стену по этому поводу.

Заранее спасибо.

Я посмотрел руководство по PHP, ТАК существующие вопросы и любой другой сайт, на котором смутно упоминается разница дат php.

<?php
$duration = ""; // insert date_diff here {difference between the time clicked and time limit}

$_SESSION['start_time'] = date("Y-m-d H:i:s"); 
$_SESSION['duration'] = $duration; 
echo $_SESSION['time']; 
echo "<br>"; 
echo $_SESSION['start_time']; 
echo "<br>"; 
$date1 = new DateTime($_SESSION['start_time']); 
$date2 = new DateTime($_SESSION['time']); 
    $differenceFormat = date_diff($date2, $date1);
echo $differenceFormat->format("%y year, %m months, %d days, %h hours and %i minutes"); 

?>

результаты

date1= 2019-06-25 00:00:00
date2 = 2019-07-03 16:04:40
difference = 0 year, 0 months, 8 days, 16 hours and 4 minutes 

Я ищу

date1= 2019-06-25 00:00:00
date2 = 2019-07-03 16:04:40
difference = 0 year, 1 months, 22 days, 16 hours and 4 minutes
...