【问题标题】:Comparing dates in wordpress比较wordpress中的日期
【发布时间】:2017-09-20 18:07:40
【问题描述】:

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

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

【问题讨论】:

  • 回显两个变量,看看哪个更大!
  • 我尝试这样做它的价值仍然更大
  • 回显时pdate大于mydate?
  • 可能有一个非常简单的解决方法,我不太确定。将"d-m-y"中的双引号改为单引号。
  • 希望对您有所帮助-stackoverflow.com/questions/5082261/…

标签: php wordpress


【解决方案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
}

【讨论】:

    【解决方案2】:

    您已经使用d-m-y 指定了$pdate 的格式;但是,$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
        }
    

    【讨论】:

    • $mydate 将是静态的,$pdate 是 wordpress 帖子的发布日期
    • 我确实意识到了这一点,但是如果在您的设置中将日期格式设置为 y-m-d(例如),那么在比较两个日期时,15 将被解释为年份。
    • 将 php 日期字符串传递给 get_the_date() 会完全覆盖 Settings > General 中的日期设置。无需更改日期格式以反映设置。
    • 我知道!但是$mydate 没有使用get_the_date,所以它采用设置格式。而不必更改设置格式(其效果也会出现在前端),我决定更改&pdate's 以匹配设置格式,因此mydate's。
    • 换句话说,你如何确保 15-09-17 被解释为 2017 年 9 月 15 日而不是 2015 年 9 月 17 日(以防它不遵循设置的格式)。
    【解决方案3】:

    随着新的更新,代码如下:

    <?php 
    
    $pdate  = get_post_timestamp();
    $mydate = time();
    if ($pdate < $mydate) {
        echo 'Do something';
    } else {
        echo 'Do something else';
    }
    

    更多信息Wordpress 5.3 - Date/Time Improvements

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 2018-11-24
      • 2022-11-18
      • 1970-01-01
      • 2015-04-17
      相关资源
      最近更新 更多