如何查看過期日期是否小於7天后?查找從現在開始是否少於7天
到期日期格式是這樣的:2016年4月13日
我在這裏有一個代碼,但它不工作:
if($record->$c < date('Y-m-d', strtotime('-7 day'))){
// this is true
}
希望有人可以幫助我。
如何查看過期日期是否小於7天后?查找從現在開始是否少於7天
到期日期格式是這樣的:2016年4月13日
我在這裏有一個代碼,但它不工作:
if($record->$c < date('Y-m-d', strtotime('-7 day'))){
// this is true
}
希望有人可以幫助我。
只是兩個單位轉換爲UNIX時間戳,使您的減法,然後用86400除以它:用DateTime
類
$expiry_date = '2016-04-18';
$today = time();
$interval = strtotime($expiry_date) - $today;
$days = floor($interval/86400); // 1 day
if($days < 7) {
echo 'less';
}
或者另一種方式:
$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;
}
但這個功能會讓你的生活變得更輕鬆。
我試過後面的代碼@Ghost,它似乎在工作,它會在未來7天后的日期回顯較少,但它也會在7天后的過去的日期出現回聲減少。 – zen
@zen只是爲此提出了另一個條件,當然,如果超過了有效期限,將會超過這個條件。我只是說明了它的基本比較,比較unix時間戳或使用datetime – Ghost
@zen只是在1和7之間添加,然後如果它的負面只是說它的過去到期日或 – Ghost