Мне нужно рассчитать часы между текущей датой и временем, которое пользователь выбирает из выпадающего поля.
По моему здесь (https://www.cosmostravel.gr/affiliate/hotel/luxembourg/en/) когда кто-то выбирает Return Trip из поля ONE WAY или RETURN, ему предлагается ввести DEPARTURE DATE (pick_up_time) & ДАТА ВОЗВРАТА (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, но все же оно не работает.
Что не так с моим кодом? Любая помощь будет оценена.
Задача ещё не решена.
Других решений пока нет …