试图了解PHP中的日期

时间:2014-02-07 18:17:39

标签: php date

我正在尝试弄清楚如何让PHP告诉我日期是否小于当前日期。我到目前为止编写的代码是;

<?php 

$test_date="08/02/2012";

$todays_date = date("d-m-Y");

if ($test_date < $todays_date) 
    {
    echo "Past";
    }
else 
    {
    echo "Future";
    }

?>

但输出说未来?任何关于最佳方法的指导将不胜感激。 - 谢谢

2 个答案:

答案 0 :(得分:2)

您应该将日期与strtotime进行比较 否则,它会比较strings,这不是您想要的(在这种情况下意外结果)。

试试这个

$test_date = "08/02/2012";
$todays_date = date("d/m/Y");

if (strtotime($test_date) < strtotime($todays_date)) 
{
   echo "Past";
}
else 
{
   echo "Future";
}

注意您也可以检查是否相等

答案 1 :(得分:1)

使用DateTime类,它们可直接比较且非常有用。

$test_date= DateTime::createFromFormat('d/m/y', "08/02/2012");
$todays_date = new DateTime();

if($test_date < $todays_date){
    echo "Past";
} else {
    echo "Future";
}

See it working