我需要计算当前日期时间与用户从下拉字段中选择的日期时间之间的小时数。 在我的表格(https://www.cosmostravel.gr/affiliate/hotel/luxembourg/en/)中,当有人从ONE WAY或RETURN字段中选择Return Trip时,他会被要求输入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提供以下代码时,它不会给我当前日期时间和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和amp;之间的日期时间差异的正确数字小时数。 pick_up_time,我认为问题依赖于我检查过的$ current_date值,该值与$ date_pickup的格式相同,但仍然无法正常工作。
我的代码出了什么问题?任何帮助将不胜感激。