PHP:大于当前日期的日期

2022-08-30 15:02:45

我有这个代码:

$curdate = '22-02-2011';

$mydate = '10-10-2011';                     

if($curdate > $mydate)
{
    echo '<span class="status expired">Expired</span>';
}

这将呼应过期,但不应该,因为$mydate是在未来,因此小于$curdate但PHP只查看前两个数字22和10而不是整个字符串。我该如何解决这个问题?

谢谢


答案 1

首先尝试将它们都转换为时间戳,然后比较两个转换后的值:

$curdate=strtotime('22-02-2011');
$mydate=strtotime('10-10-2011');

if($curdate > $mydate)
{
    echo '<span class="status expired">Expired</span>';
}

这会将它们转换为自 1970 年 1 月 1 日以来的秒数,因此您的比较应该有效。


答案 2

问题是您当前的变量是字符串,而不是时间变量。

试试这个:

$curdate = strtotime('22-02-2011');

$mydate = strtotime('10-10-2011');  

推荐