这是一个wordpress网站,但日期是自定义的,它们不是发布日期。我试图将过期日期与当前日期进行比较。它适用于某些日期,但到期日期为01/01/2017或01/01/2016,它将返回无效状态。即使日期是2017年,它仍然会返回无效状态。不知何故,它不一致,我不知道在哪里检查和可能缺少什么声明。这是示例代码。过期日期已存储在$ dates [1]中,该值的格式为MM / DD / YY。我使用wordpress current_time代码来调用当前日期。请帮忙。谢谢!
<?php
$current_datetime = current_time( 'mysql' );
if ($dates[1] < date('m/d/Y', strtotime($current_datetime)) ){
echo '<td class="-status"><span>Invalid</span></td>'."\n";
}
else
if ($dates[1] >= date('m/d/Y', strtotime($current_datetime)) ){
echo '<td class="-status"><span>Valid</span></td>'."\n";
}
?>
答案 0 :(得分:0)
我终于明白了。这是日期的格式,特别是日期的年份有问题。虽然改变格式是另一种方式。我刚刚在php上使用explode进行了更改,如果使用'/'并分配给数组,它基本上会分隔日期格式。然后比较当前年份到期日的年份。
<?php
$expire_year = explode('/', $dates[1]);
if ($dates[1] < date('m/d/Y', strtotime($current_date_test))){
if($expire_year[2] > date('Y', strtotime($current_date_test))){
echo '<td class="-status"><span>Valid</span></td>'."\n";
}
else{
echo '<td class="-status"><span>Invalid</span></td>'."\n";
}
else{
if ($dates[1] >= date('m/d/Y', strtotime($current_date_test)) ){
echo '<td class="-status"><span>Valid</span></td>'."\n";
}
}
?>
感谢您的想法!