Php 检查日期选择器选择的日期是否为昨天

Php 检查日期选择器选择的日期是否为昨天,php,date,jquery-ui-datepicker,Php,Date,Jquery Ui Datepicker,用户输入入住和退房日期 我想知道登记日期是否不是昨天,可以是今天。 & 天气退房日期至少比今天多一天。 (即从明天开始但不是今天) 日期格式:2015年5月23日(年月日) 已尝试使用(strotime)将日期转换为字符串,但在使用strotime:()时,它还会计算小时数,甚至将当前日期显示为上一个日期 有办法做到这一点吗? 谢谢您可以构建DateTime对象并进行比较 <?php $checkin = new DateTime($_POST['checkin']); $checkout

用户输入入住和退房日期
我想知道登记日期是否不是昨天,可以是今天。
&
天气退房日期至少比今天多一天。
(即从明天开始但不是今天)
日期格式:2015年5月23日(年月日)

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


谢谢

您可以构建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!';
}

感谢您的回复。我可以看到您使用了php类DateTime。
如何在我的php站点中包含该类..?DateTime是一个原生php(>=PHP5.2.0)类,您不需要任何东西来使用它:)请参见:。当使用日期时,你应该经常使用它,它非常方便。例如,您可以进行简单的日期操作:
$today=newdatetime()$明天=$today->修改(“+1天”)$lastDayOfMonth=$today->modify('lastDayOfMonth')