我正在嘗試區分在 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 數據表中的那些?,F在在 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 方法來完成,非常感謝您的建議。
1 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
我認為您每次顯示表格時都應該從交貨日期中減去當前日期。
<?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;
- 1 回答
- 0 關注
- 120 瀏覽
添加回答
舉報
0/150
提交
取消