查看日期是否少于7天

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看日期是否少于7天相关的知识,希望对你有一定的参考价值。

如何确定到期日期是否少于7天?

到期日期格式如下:2016-04-13

我这里有一个代码,但它不起作用:

if($record->$c < date('Y-m-d', strtotime('-7 day'))){
   // this is true
}

希望有人能帮助我。

答案

只需将两个单位转换为unix时间戳,进行减法,然后将其除以86400:

$expiry_date = '2016-04-18';
$today = time();
$interval = strtotime($expiry_date) - $today;
$days = floor($interval / 86400); // 1 day
if($days < 7) {
    echo 'less';
}

或者使用DateTime类的另一种方式:

$expiry_date = '2016-04-18';
$expiry_date = new DateTime($expiry_date);
$today = new DateTime();
$interval = $today->diff($expiry_date);
$day = $interval->format('%r%a');
if($day < 7) {
    echo 'less';
}

示例条件:

$expiry_date = '2016-04-18';
$today = time();
$interval = strtotime($expiry_date) - $today;
$day = floor($interval / 86400); // 1 day
if($day >= 1 && $day < 7) {
    echo 'between 1 - 7 days';
} elseif($day <= 0) {
    echo 'deadline';
} else {
    echo 'soon';
}

只是根据你想要做的事情来改变/调整它。

另一答案

推荐探索date_diff()功能:

http://php.net/manual/en/function.date-diff.php

我的挑战是不同的:

// Count days is date range 
function count_days_in_range($date1, $date2) {

    $date1      = date_create($date1);
    $date2      = date_create($date2);

    $interval   = date_diff($date1, $date2);
    $days       = $interval->days;

    return $days;
}

但是这个功能会让你的生活更轻松。

以上是关于查看日期是否少于7天的主要内容,如果未能解决你的问题,请参考以下文章

超实用的php代码片段

从 MySql 返回少于 60 天的行

习题 7

js在当前日期基础上,加1天 3天 7天 15天

如何从现在开始7天分割日期

PHP实现查看邮件是否被阅读