【问题标题】:Compare 2 dates and get the real time value in days PHP Data Table比较 2 个日期并以天为单位获取实时值 PHP 数据表
【发布时间】:2020-09-05 10:40:24
【问题描述】:

我试图实现在 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 数据表中的那些。

现在在 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 方法来完成,建议非常感谢。

【问题讨论】:

    标签: javascript php jquery ajax timestamp


    【解决方案1】:

    我认为你每次展示表格时都应该从交货日期中减去当前日期。

    <?php
    
    $deliveryDateToSec = strtotime($deliveryDate);
    $currentDateToSec = strtotime(Date('Y-m-d'));
    $timeDiff = $deliveryDateToSec - $currentDateToSec;
    $daysLeft = $timeDiff/86400;  // 86400 seconds in one day
    //convert to integer
    $daysLeft = intval($daysLeft);
    
    if ($daysLeft < 0) {
        $daysLeft = 0;
    }
    
    echo $daysLeft;
    

    【讨论】:

    • 是的,根据我的情况,插入日期是当前日期。我能够得到很好的剩下的日子。如果我明天在数据表上看到记录,它仍然是旧值。它不会是实时的。
    • 你应该得到当前日期(strtotime(Date('Y-m-d'))) 并在每次显示表格时进行计算。你也可以用 Javascript 来做。
    • 我也在寻找在 JS 上实现它的方法。由于数据表是连接的,所以我在执行过程中卡住了。
    • 你能展示创建表格的 PHP/JavaScript 代码吗?
    • 非常感谢你。这是我试图在错误的地方实施的小菜一碟。
    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多