PHP:日期大于当前日期

Cam*_*ron 20 php date

我有这个代码:

$curdate = '22-02-2011';

$mydate = '10-10-2011';                     

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

这将是echo过期但不应该因为$ mydate将来并因此小于$ curdate但是PHP正在查看前两个数字22和10而不是整个字符串.我怎样才能解决这个问题?

谢谢

Zak*_*Zak 60

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

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

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

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

  • @Cameron你不觉得用错误的格式定义一个变量然后把它转换成另一个变量有点过分吗?为什么不以正确的格式定义它? (3认同)

Chr*_*ski 6

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

试试这个:

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

$mydate = strtotime('10-10-2011');  
Run Code Online (Sandbox Code Playgroud)


小智 5

$row_date = strtotime($the_date);
$today = strtotime(date('Y-m-d'));

if($row_date >= $today){
     -----
}
Run Code Online (Sandbox Code Playgroud)