簡體   English   中英

查找日期是否少於現在的7天

[英]Find if date is less than 7 days from now

我怎樣才能知道到期日期從現在起不到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/zh/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;
}

但是此功能將使您的生活更加輕松。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM