比较wordpress中的日期

时间:2017-09-20 18:07:41

标签: php wordpress

我在WordPress中使用以下代码检查文章是否在15-09-17之前发布,但问题是如果日期大于15且月份较少,则仍显示日期更大。例如,如果$ pdate是28-08-17而$ mydate是15-09-17,它仍然会返回true。

    $pdate  = strtotime(get_the_date("d-m-y"));
    $mydate =   strtotime('15-09-17');
    if ($pdate>$mydate)
    {
    //do something
    }
    else {
    //do something
    }

3 个答案:

答案 0 :(得分:1)

它将您的第一个数字(即28和15)解释为年份。

来自strtotime()手册:

  

但是,如果年份以两位数格式和分隔符给出   是一个破折号( - ,日期字符串被解析为y-m-d。

尝试使用四位数年份,因此它不会以不合需要的方式解析日期字符串:

$pdate  = strtotime(get_the_date("d-m-Y"));
$mydate =   strtotime('15-09-2017');
if ($pdate>$mydate)
{
//do something
}
else {
//do something
}

答案 1 :(得分:1)

您已使用$pdate指定了d-m-y的格式;但是,$mydate遵循Settings > General中设置的格式。确保两种格式匹配才能进行正确的比较。

为了澄清,让代码反映您设置中的日期格式。假设您希望帖子中的日期显示如下:September 20, 2017,即F j, Y。您的代码将是:

$pdate  = strtotime(get_the_date('F j, Y'));
    $mydate =   strtotime('September 15, 2017');
    if ($pdate>$mydate)
    {
    //do something
    }
    else {
    //do something
    }

答案 2 :(得分:0)

使用新的更新,有效的代码如下:

defn

更多信息,Wordpress 5.3 - Date/Time Improvements