要检查天气,日期选择器选择的日期是昨天

To check weather the date selected by date picker is yesterday

用户输入入住和退房日期
我想查天气,入住日期不是昨天,可以是今天。
&
天气退房日期至少比今天晚一天。
(即从明天开始而不是今天)
日期格式:23-05-2015 (dd-mm-yyyy)

已尝试使用 (strtotime) 将日期转换为字符串,但它还会计算小时数,甚至在使用 strtotime 时将当前日期显示为上一个日期
:(
有没有办法做到这一点.. ?

谢谢

您可以构建 DateTime 对象并进行比较。

<?php
$checkin = new DateTime($_POST['checkin']);
$checkout = new DateTime($_POST['checkout']);
$today = new DateTime();

if ($checkin >= $today && $checkout > $checkin) {
    // proceed to order
}

我不确定我是否能完全理解你想要的。但是,如果您只想检查酒店预订日期间隔是否有效,那么这里有一个非常简单的代码片段,可以帮助您解决问题:

<?php
$checkIn = '22-05-2015';
$checkOut = '24-05-2015';

$checkInTime = strtotime($checkIn);
$checkOutTime = strtotime($checkOut);
$todayTime = strtotime(date('Y-m-d'));

if ($checkInTime < $todayTime) {
    echo 'Can not have a checkIn day in the past!';
}
if ($checkOutTime < ($checkInTime + 60 * 60 * 24)) {
    echo 'Have to stay at least one night!';
}