我想用php語言的函數date_diff。我需要做三個或更多值的操作。PHP - 與三個元素更多的date_diff
例如:
$date1 = new DateTime('11:00:00');
$date2 = new DateTime('10:00:00');
$totalDate = date_diff($date1, $date2);
echo "<br>TOTAL: ".$totalDate->format('%H:%i:%s');
$date3 = new DateTime('02:00:00');
$totalDate2 = date_diff($totalDate, $date3);
echo "<br>TOTAL: ".$totalDate2->format('%H:%i:%s');
在代碼它可以看到有兩個值(日期1和date2),以和。減去的結果與另一個值(DATE3)至。減去。問題在這裏。第一個操作工作正常,但第二個操作使用第一個操作的結果($ totalDate),而當我想運行第二個操作時不起作用。
服務器的日誌文件是這樣的:
[星期二17年11月8日:47:03.309115 2016] [:錯誤] [PID 78386] [客戶端192.168.0.4:54695] PHP警告:date_diff()預計參數1爲DateTimeInterface,對象給出 [Tue Nov 08 17:47:03.309165 2016] [:error] [pid 78386] [client 192.168.0.4:54695] PHP致命錯誤:調用成員函數format()on布爾值
我確定問題出在變量$ totalDate不是DateTime類。我曾嘗試與此:$totalDate = new DateTime(date_diff($date1, $date2)
但它不會再次工作:(
請你幫我
感謝
你需要的是'date_diff($ DATE1,$ DATE3);'或'date_diff($ DATE2,$ DATE3);' –
我需要:'$ result1 = date_diff($ date1,$ date2)'和'$ result2 = date_diff($ result1,$ date3)'問題是使用result1到第二個date_diff – ruzD
你確定? '$ result1'是一個區別('DateInterval')而不是DateTime對象。我認爲你試圖比較蘋果和橘子 – RiggsFolly