php mysqli日期-1个月

时间:2018-03-08 07:00:20

标签: php html css mysqli

这是我的理由。我有一个名为License_expiration的表,其中我列出了许可证的到期日期。 我的问题是我如何获得显示在我的仪表板表中的到期日期-1个月?即时通讯使用html& css + php + mysql(mysqli)。

离。 2018/04/29 - 到期日。它应该出现在2018/03/29年的桌子上

3 个答案:

答案 0 :(得分:0)

由此您可以在30天后获得到期日期

date_default_timezone_set('Australia/Kolkata');
         $date = date('Y-m-d', time());
         $expdate = date('Y-m-d', time()-(30*86400));

检查今天的日期是否等于$ expdate

答案 1 :(得分:0)

    $expiration  = '2018/04/29'; //fetch the expiration on the database in
    $today = date('Y/m/d');

    //convert to strtotime;
    $convertExp = strtotime($expiration);
    $convertDay = strtotime($today);

   $timeleft = $convertExp - $convertDay;

   $daysleft = round((($timeleft/24)/60)/60); 

   if($daysleft <= 30){
    //display result here
   }else {
   //display none;
   }

如果要显示多个。在数据库中获取数据时,在循环中添加它。

答案 2 :(得分:0)

假设您知道如何从License_expiration表中获取到期日期,您可以使用php将您的到期日期与当前日期进行比较

<?php
    $row['expiration'] = '2018/04/7'; // get your data from query
    $alert = new DateTime($row['expiration']);
    $alert->modify( '-1 month' );
    $now = new DateTime();
    if ($now > $alert) {
        // show expiration date only when less than one month
        echo $row['expiration'];
    }

如果您有多个到期日期,那么您可以尝试使用

// mysql select statement
"SELECT `expiration`, DATE_SUB(expiration, INTERVAL 1 month) AS alert FROM License_expiration"

<?php
    $now = new DateTime();
    WHILE ($row = $result->fetch_assoc()) {
        $alert = new DateTime($row['alert']);
        if ($now > $alert) {
            // show expiration date only when less than one month
            echo $row['expiration'];
        }
    }

如果您的日期格式是2018-04-29,那么只需:

<?php
    $now = date('Y-m-d');
    WHILE ($row = $result->fetch_assoc()) {
        if ($now > $row['alert']) {
                // show expiration date only when less than one month
                echo $row['expiration'];
        }
    }