如何查看过期日期是否小于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