繁体   English   中英

为什么此date_diff不起作用?

[英]Why is this date_diff not working?

当图像在数据库中设置的“创建日期”值不超过一周时,我想显示“ NEW” div。

$now = new DateTime();
$then = new DateTime($imageSet->created);
$diff = date_diff($now,$then);
if($diff->format('%d') >= 0 && $diff->format('%d') < 8 && $imageSet->created != null) { $new = 1; } else { $new = 0; }

但是,如果一张图片的日期创建值为2016-05-17,则该图片会显示div“ NEW”,而该日期显然已超过一周。 根据上述情况,我希望创建日期为2016-07-12或更高版本的任何值都会触发“ NEW” div。

有什么想法为什么不是吗?

%d“年,月,日”描述中的部分。 例如,如果总差额为40天,那将是9天左右,因为这是一个月,即9天的差额。

如果您需要天数差异,请使用%a

使用以下代码

$now = new DateTime();
if(empty($imageSet->created)) {
    $new = 0
} else {
    $then = new DateTime($imageSet->created);
    $diff = date_diff($now,$then);
    if($diff->format('%a') >= 0 && $diff->format('%a') < 8 ) { 
        $new = 1; 
    } else { 
        $new = 0; 
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM