php/cakePHP中的日期比较

php/cakePHP中的日期比较,php,cakephp,Php,Cakephp,因此,我经历了一个非常奇怪的行为,任何咨询都将不胜感激 $start_date = '02-07-2014'; $finish_date = '05-05-2014'; if($start_date < $finish_date'){ return true; }else{ return false; } $start_date='02-07-2014'; $finish_date='2014年5月5日'; 如果($start\u date

因此,我经历了一个非常奇怪的行为,任何咨询都将不胜感激

$start_date = '02-07-2014';
$finish_date = '05-05-2014';

if($start_date < $finish_date'){
    return true;
}else{
    return false;
}
$start_date='02-07-2014';
$finish_date='2014年5月5日';
如果($start\u date<$finish\u date')){
返回true;
}否则{
返回false;
}
在这种情况下,将返回
true
。返回的唯一时间
false
是两天之间的差值不超过两周左右


此外,如果完成日期确实大于开始日期,则始终返回
true

如果您比较如下日期,则会更好-

$start_date = date("Y-m-d",strtotime("02-07-2014"));
$end_date = date("Y-m-d",strtotime("05-05-2014"));

if($start_date < $finish_date){
    return true;
}else{
    return false;
}
$start_date=日期(“Y-m-d”,标准时间(“02-07-2014”);
$end_date=日期(“Y-m-d”,标准时间(“05-05-2014”);
如果($开始日期<$结束日期){
返回true;
}否则{
返回false;
}

通过这种方式,您将以YYYY-MM-DD格式比较日期,而且比较准确

日期应采用“YYYY-MM-DD”格式进行比较。您还可以使用strotime()或DateTime对象-如重复记录单中建议的那样。