最族
【原创】时限业务到期检测方法
2018-2-8 Veris


网站业务中常常会有某些服务到期检测(如会员套餐到期检测):



1、简单到期检测,2018/2/8 21:16(当前时间)是否大于2018/2/8 20:00(截止时间)



2、观测时段到期检测,2018/2/8 21:16(当前时间)+3天(观测时段)是否大于2018/2/12 20:00(截止时间)



执行时段问题:



有些业务会要求在到期后的某个时间范围内执行相关业务,这就引出了执行时段(当前或观测时间处在到期、检测时段t1~t2)。



除了未到期时段之外,超出检测时段也不执行相关业务,如下图所示:






相关代码参考:



剩余天数检测方法


$curTime	=1518093951; // 当前时间
$expireTime =1518093951+86400*5; // 截止时间
$day =7; // 观测天数
$timeLeft =ceil(($expireTime-$curTime)/86400); // 剩余时间
echo "观测天数:{$day}<br>";
echo "剩余天数:{$timeLeft}<br>";
if($day>=$timeLeft){
if($timeLeft>=0){
echo '已到执行时段';
}else{
// 剩余天数为负数(当前时间>截止时间)
echo '超出执行时段';
}
}else{
echo '未到执行时段';
}


执行时段检测方法


// 当前时间+观测时间>=到期时间 且 当前时间+观测时间<到期时间+1天
if($curTime+$day*86400>=$expireTime && $curTime+$day*86400<$expireTime+86400){
echo '执行时段';
}


=================================================

转载请注明出处:

作者:Veris

最族 [ http://www.mostclan.com ]

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容