Число фп количество дней между 2 датами, когда превышение в 1 час добавить еще 1 день
У меня возникли проблемы при получении точного количества дней. учитывая, что у меня есть дата / время, которые учитывают часы при подсчете количества дней ниже кода, дайте мне ноль дней
$fisrstDate = new DateTime("2018-03-07 04:46:00");
$secondDate = new DateTime("2018-03-07 11:10:00");
$days=$fisrstDate->diff($secondDate)->days;
Другой пример: это должно дать мне 2 дня, но показывает только 1 день, моя идея - когда 24 часа превышают, я хочу добавить еще 1 день, чтобы это дало мне вывод 2 дня.
$fisrstDate = new DateTime("2018-03-07 04:46:00");
$secondDate = new DateTime("2018-03-08 05:00:00");
$days=$fisrstDate->diff($secondDate)->days;
1 ответ
Решение
Ты можешь использовать strtotime
чтобы получить точные секунды между двумя временными метками, а затем преобразовать их в дни с последующим ceil
чтобы это работало. Например:
$fisrstDate = strtotime("2018-03-07 04:46:00");
$secondDate = strtotime("2018-03-07 11:10:00");
$days = abs(ceil((abs($fisrstDate - $secondDate)/ (60 * 60 * 24)) - (1 / 24)));
echo $days;