[英]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.