在php中比较两个日期

在php中比较两个日期,php,Php,我想比较两个日期,它们是在同一时间年/月/日/小时吗 我从数据库中获取时间,另一个时间来自我使用的用户输入 $checkdate = strtotime($meetingDate); $dateconflicts = strtotime($_SESSION['date']); if ($checkdate == $dateconflicts ) { $msg = "<div class='alert alert-danger'>there's conflicts !<

我想比较两个日期,它们是在同一时间年/月/日/小时吗 我从数据库中获取时间,另一个时间来自我使用的用户输入

$checkdate = strtotime($meetingDate);
$dateconflicts = strtotime($_SESSION['date']);

if ($checkdate == $dateconflicts ) {
    $msg = "<div class='alert alert-danger'>there's conflicts !</div>";                
}

问题是它不是这样工作的,我不知道为什么。

如果您正在寻找如何检查两个日期是否具有相同的时间:

$date1 = '2016-12-04 20:21:10';
$date2 = '2016-12-04 21:50:00';

if (date('Y-m-d H', strtotime($date1)) == date('Y-m-d H', strtotime($date2))) {
    echo 'Same hour';
}

要忽略秒数,请从仅包含年、月、日期和小时的时间整数创建一个字符串:

$checkdate = date('Y-m-d H', strtotime($meetingDate));
$dateconflicts = date('Y-m-d H', strtotime($_SESSION['date']));

if ( $checkdate == $dateconflicts ) {
    $msg = "<div class='alert alert-danger'>The dates $checkdate and $dateconflicts conflict !</div>";   
}

strotime返回一个时间戳,这意味着您正在比较两个时间戳。因此,除非你给出的日期时间是完全相同的秒,否则它将失败。你可能想用日期来代替它,我推荐这个类。这是回答这个问题的答案:$\u SESSION['date']的值是什么?会议开始了吗?编辑:$meetingDate的值也是什么?$\u SESSION['date']从上一页用户输入日期在此时间创建新会议$meetingDate是数据库中的日期每个用户都有一个时间段,他们在这段时间内很忙。我想OP也需要相同的日期、年份和月份。他们在同一时间年/月/日/小时你是对的@chris85,我更新了我的答案:OP在这里使用sessions$\u SESSION['date'],所以我们不知道该数组是否包含值,至于它是什么,这是任何人的猜测。我已经在上面的评论@Max中要求澄清,我正在键入这一点,OP回应了,但也不清楚。他们写的只是:$\u SESSION['date']从上一页用户输入日期。谢谢你们,我已经解决了我的问题。您的两个解决方案都解决了我的问题。我已经解决了您的问题,现在无论发生什么情况,条件都是正确的。请提供示例数据。@ziyad我更新了$msg,以便您可以看到您从约会中得到了什么。如果您遇到了意外情况,那么问题可能出在代码运行之前的日期。谢谢您,现在我已经使用您的解决方案完成了这项工作,并在我的数据库中进行了一些修改