我有这样的代码:
$curdate = '22-02-2011';
$mydate = '10-10-2011';
if($curdate > $mydate)
{
echo '<span class="status expired">Expired</span>';
}
这将回显expired,但不应该这样做,因为$mydate是未来的,因此比$curdate更小,但它只查看前两个数字22和10,而不是整个字符串。我该如何解决这个问题呢?
谢谢
发布于 2011-02-23 02:35:12
首先尝试将它们都转换为时间戳,然后比较两个转换后的值:
$curdate=strtotime('22-02-2011');
$mydate=strtotime('10-10-2011');
if($curdate > $mydate)
{
echo '<span class="status expired">Expired</span>';
}
这会将它们转换为自1970年1月1日以来的秒数,因此您的比较应该是有效的。
发布于 2011-02-23 02:36:42
问题是您当前的变量是字符串,而不是时间变量。
试试这个:
$curdate = strtotime('22-02-2011');
$mydate = strtotime('10-10-2011');
发布于 2016-11-14 18:49:41
$row_date = strtotime($the_date);
$today = strtotime(date('Y-m-d'));
if($row_date >= $today){
-----
}
https://stackoverflow.com/questions/5082261
复制相似问题