php - 检查今天的日期是否超过到期日期

标签 php

<分区>

有人可以帮我解决这个问题吗:

<?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,因为它还没有过去两天。

最佳答案

基于 your comments ,您想要获取 $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,否则会显示 active。


我们在这里做什么?

这很简单。我们利用strtotime()从您的 $startdate 值获取当天的时间戳 +2 天。然后我们在午夜得到今天的日期(因此实际时间戳相当于 18-May-2016 00:00:00)。

我们的最后一步是比较两个时间戳,看看今天的日期是否大于或等于到期日期。


注意:这假定您的 $startdate 的格式与 strtotime() 兼容.

关于php - 检查今天的日期是否超过到期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37301753/

相关文章:

php - 带有 php while 语句的 UL 列表,如何正确执行?

php - MySQL 返回行如果存在,否则不同的行

php - 我怎样才能使这个功能更简单?未知的数组深度

javascript - 使用 Ajax 将变量发布到 PHP 文件以从 Mysql 中删除一行 - 不起作用

php - 通过代理 curl 不返回任何内容

php - sql查询后检查结果是否为 undefined variable

javascript - 将表情符号发送到我的文本区域

php - Nginx 作为长轮询时的反向代理

php - 我究竟如何在 Symfony2/Doctrine 中创建自定义 EntityManager?

phpqrcode 库以字符串形式返回图像