比较 2 个日期并获取以天为单位的实时值 PHP 数据表

我正在尝试区分在 PHP 中输入的两个日期。一个是备案日期,一个是交货日期。记录条目日期保存如下。


    $insertDate=curdate();

    function curdate() {

    // gets current timestamp

    date_default_timezone_set('Asia/Dubai'); 

      return date('Y-m-d');

    }

交货日期将保存为 HTML 输入。


<div class="form-group">

  <label for="deliveryDate">Delivery Date</label>

     <input type="date" class="form-control" name="deliveryDate" required>                    

</div>

两者都完美地保存在数据库中,以便我访问 jquery 数据表中的那些。

http://img1.mukewang.com/6428eab9000112b312910310.jpg

现在在 D/Left 列中,我希望看到交付特定产品的剩余天数。为了实现这一目标,我所做的是


交货日期 - 记录输入日期 = 剩余天数。


$deliveryDateToSec = strtotime($deliveryDate);

$insertDateToSec = strtotime($insertDate);

$timeDiff = abs($deliveryDateToSec - $insertDateToSec);

$daysLeft = $timeDiff/86400;  // 86400 seconds in one day

//convert to integer

$daysLeft = intval($daysLeft);

虽然我可以通过这种方式完成任务,但我的要求是剩余的天数应该是实时的。就像我今天添加一条记录 - 18-05-2020,交货日期是 - 20-05-2020,那么剩下的天数就是 2。当我明天看到记录时,它应该是 1。同样减法必须像每天减少 1 天一样发生。我试图以多种方式做到这一点,但我无法完成。如果无论如何都可以使用 JQuery Datatable 方法来完成,非常感谢您的建议。


达令说
浏览 105回答 1
1回答

函数式编程

我认为您每次显示表格时都应该从交货日期中减去当前日期。<?php$deliveryDateToSec = strtotime($deliveryDate);$currentDateToSec = strtotime(Date('Y-m-d'));$timeDiff = $deliveryDateToSec - $currentDateToSec;$daysLeft = $timeDiff/86400;&nbsp; // 86400 seconds in one day//convert to integer$daysLeft = intval($daysLeft);if ($daysLeft < 0) {&nbsp; &nbsp; $daysLeft = 0;}echo $daysLeft;
打开App,查看更多内容
随时随地看视频慕课网APP