比较日期不在php中工作


comparing date not Working in php

我这里有两个日期,想与另一个日期进行比较。。。这里的另一个日期称为$date_main,并将其与一个名为$date_to的变量进行比较。。。救命,它不起作用。。

<?php
        $date_f="02-05-2014"; 
        $date_t="02-11-2014"; 
        $date_from=date('d-m-Y', strtotime($date_f));
        $date_to=date('d-m-Y', strtotime($date_t));
        $date_c="21-7-2014";
        $date_main=date('d-m-Y', strtotime($date_c));
        if(($date_main<$date_to))
        {
            echo "date_main is less then to<br/>";
        }
    ?>

您必须比较时间,而不是日期本身:

if(strtotime($date_c) < strtotime($date_t))

我想知道为什么不做这样的事情?

$date_f = "02-05-2014";
$date_t = "02-11-2014";
$date_from = DateTime::createFromFormat('d-m-Y', $date_f);
$date_to = DateTime::createFromFormat('d-m-Y', $date_t);
$date_main=DateTime::createFromFormat('d-m-Y', '21-07-2014');
if (($date_main < $date_to)) {
    echo "date_main is less then to<br/>";
}

使用对象总是更好的。

    $date_f="02-05-2014"; 
    $date_t="02-11-2014";    
    $date_main=date_create("2014-7-21");      
    $date_to=date_create("2014-11-02");       
    $diff=date_diff($date_main,$date_to);
    if($diff->format("%R%a")>0)       
      {
        echo "date_to is greater";      
      }         
      else      
      {         
         echo "date_main is greater";   
      }