使用 PHP 检查一天之间的日期时间


Check datetime between a day using PHP

我想检查发布日期是否在给定日期
之间以下是我的输入:

$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;
}