我在 WordPress 中使用以下代码来检查文章是否在 2017 年 9 月 15 日之前发布,但问题是如果日期大于 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
}
Run Code Online (Sandbox Code Playgroud)
它将您的第一个数字(即 28 和 15)解释为年份。
从strtotime()手册中:
但是,如果年份以两位数格式给出且分隔符为破折号(-,则日期字符串将被解析为 ymd.
尝试使用四位数年份,这样它就不会以不希望的方式解析日期字符串:
$pdate = strtotime(get_the_date("d-m-Y"));
$mydate = strtotime('15-09-2017');
if ($pdate>$mydate)
{
//do something
}
else {
//do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8181 次 |
| 最近记录: |