有人可以帮我这个忙吗?
<?php
include 'include/db_config.php';
$result = $dbs->prepare("SELECT * FROM service_info WHERE id = :id");
$result->bindParam(':id', $_SESSION['id']);
$result->execute();
for ($i=0;$i = 0; $row = $result->fetch(); $i++) {
?>
<td><?php echo $row['datepicker']; ?></td>
<?php
$offset = strtotime("+1 day");
$enddate = date("Y-m-d H:i:s", $offset);
echo $enddate . "</br>";
if ($enddate < $startdate) {
echo "expired";
} else {
echo "active";
}
}
?>
我要实现的是找出所保存的日期值$row['datepicker']
是否超过2天。如果超过2天前,我希望它回显expired
,否则我希望它显示active
。
例如:$row['datepicker']
可能包含日期:2016年5月18日(基于用户输入-不是固定值)。那意味着它的到期日期是:2016年5月20日。如果今天的日期大于或等于2016年5月20日,则应回显expired
。如果今天是2016年5月19日,那么应该回声,active
因为它不是过去的两天。
根据您的评论,您要$startdate
加上并增加两天的时间。如果已经过了今天的日期,那么您要打印过期,否则要激活打印。
$startdate = "16-May-2016";
$expire = strtotime($startdate. ' + 2 days');
$today = strtotime("today midnight");
if($today >= $expire){
echo "expired";
} else {
echo "active";
}
在这种情况下,它将回显,expired
因为在撰写本文时,我们距离5月16日已经过去了两天。如果您将更改为$startdate
5月17日,则会回显,active
因为那只是过去的1天。
对于您的特定问题,您需要更改$startdate
为以下形式:
$startdate = $row['datepicker'];
每当指定的日期$startdate
大于或等于过去2天时,它将显示,expired
否则它将显示为活动。
我们在这里做什么?
这很简单。我们利用从您的价值中strtotime()
获取当天的时间戳。然后,我们将在午夜获得今天的日期(因此实际的时间戳等于2016年5月18日00:00:00)。+2 days
$startdate
我们的最后一步是比较两个时间戳,并查看今天的日期是否大于或等于到期日期。
注意:假设您$startdate
的格式与兼容strtotime()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句