Мне нужно рассчитать часы между текущей датой и временем, которое пользователь выбирает из выпадающего поля.В моей форме здесь (https://www.cosmostravel.gr/affiliate/hotel/luxembourg/en/) когда кто-то выбирает Return Trip из поля ONE WAY или RETURN, ему предлагается ввести DEPARTURE DATE (pick_up_time) и RETURN DATE (return_pick_up_time). Я получаю разницу в часах между двумя датами, используяследующий код:
$date_pickup = new DateTime($options['pick_up_time']);
$date_return = new DateTime($options['return_pick_up_time']);
$diff_return = $date_return->diff($date_pickup);
$hours_return = $diff_return->h;
Теперь $ hours_return - это точно разница во времени в часах, которые я получаю, и она отлично работает! Проблема в том, что когда у меня есть следующий код для pick_up_time, он не даетмне количество часов между текущим datetime и pick_up_time
date_default_timezone_set('Europe/Athens');
$current_date = date('d/m/Y H:i', time());
$date_pickup = new DateTime($options['pick_up_time']);
$diff_pickup = $date_pickup->diff($current_date);
$hours_pickup = $diff_pickup->h;
Далее в моем коде я пытаюсь проверить, меньше ли $ hours_pickup чем 12 часов, но $ hours_pickup не число, чтобы иметь возможностьвыполните сравнение.
if ($hours_pickup <= 12) {
$total_fare = 0.00;
$can_book = false;
}
Так как $ hours_return дает мне правильное число в часах для разницы между датой и временем между return_pick_up_time & pick_up_time, я думаю, что проблема заключается в значении $ current_date, которое я проверил, которое находится втот же формат, что и у $ date_pickup, но все же это не такработа.
Что не так с моим кодом?Любая помощь будет оценена.