我有 2 個日期,它們是通過連接 3 個變量創建的。 $StartDate = $m . '/' . $dayy . '/' . $y; $EndDate = $m . '/' . $dayy . '/' . $y; $Interval = date_diff($StartDate , $EndDate) $NumOfDays = $interval->format('%a'); $NumOfDays++;我收到 date_diff() 期望參數 1 為 DateTimeInterface 的錯誤。我搜索了這個網站,發現了一些不起作用的東西。 $date = date_create_from_format('d/m/y', $StartOfWeek); $a = $date->getTimestamp(); $date = date_create_from_format('d/m/y', $EndOfWeek); $b = $date->getTimestamp(); $interval = date_diff($a, $b); $NumOfDays = $interval->format('%a');我收到錯誤:未捕獲錯誤:調用布爾值上的成員函數 getTimestamp()如何正確地將字符串類型的 2 個日期轉換為 DateTime?
1 回答

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
只需使用您的日期字符串來創建DateTime()
對象。您不需要使用date_create_from_format()
,因為您的日期格式被 PHP 識別為標準日期格式。
$m = 5;
$dayy = 20;
$y = 2020;
$m2 = 4;
$dayy2 = 18;
$y2 = 2020;
$StartDate = new DateTime($m . '/' . $dayy . '/' . $y);
$EndDate = new DateTime($m2 . '/' . $dayy2 . '/' . $y2);
$interval = date_diff($StartDate , $EndDate);
$NumOfDays = $interval->format('%a');
echo $NumOfDays;
- 1 回答
- 0 關注
- 123 瀏覽
添加回答
舉報
0/150
提交
取消