我想检查发布日期是否在给定日期
之间以下是我的输入:
$no_of_days = 1;
我的发布日期时间如下:
$post_datetime = '2016-03-01T03:50:47.742Z';
不,我想检查 $post_datetime 是否在 $no_of_days 之间
提前致谢
试试这个
$post_datetime = '2016-03-01T03:50:47.742Z';
$no_of_days = 1;
$date1=date_create($post_datetime);
$date2=date_create(date("Y-m-d"));
$diff=date_diff($date1, $date2);
$days = $diff->format("%a");
if($days <= $no_of_days) //do something
/**
* Checks if the given dates are in a defined range
*
* To handle with the difference of CET and CEST, a complete day gets
* aggregated to the days if there is a difference of hours.
*
* @param 'DateTime $date1 Your defined date
* @param 'DateTime $date2 The date that has to be valuated
* @param int $numberOfDays
* @return bool
*/
public function isDateInRange(
DateTime $date1,
DateTime $date2,
$numberOfDays
) {
$days = (int) $date2->diff($date1)->days;
$hours = (int) $date2->diff($date1)->h;
if ($hours > 0) {
++$days;
}
if ($days <= $numberOfDays) {
return true;
}
return false;
}