我正在尝试弄清楚如何让PHP告诉我日期是否小于当前日期。我到目前为止编写的代码是;
<?php
$test_date="08/02/2012";
$todays_date = date("d-m-Y");
if ($test_date < $todays_date)
{
echo "Past";
}
else
{
echo "Future";
}
?>
但输出说未来?任何关于最佳方法的指导将不胜感激。 - 谢谢
答案 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";
}