CakePHP的問題中的DateTime對象傳遞給做差異計算
我想從一個形式 - shift_start
的日期時間字段,以拉動和比較它的價值shift_end
這也是一個日期時間,並計算以小時爲單位的差異。這一切都在我的控制器中。我曾嘗試使用構造函數$start = new DateTime($this->shift_start)
來存儲shift_start
的值及其不同變化,其中包括用$start = $this->shift_start
之後的手動設置,但無濟於事。
我們想打電話給$difference = $start->diff($end)
,但是當我們運行它時,我們會得到空白值或零。
任何洞察將有所幫助。
更新:改變它,所以shift_start和shift_end只是正確格式的字符串。
$start = strtotime($this->shift_start);
$end = strtotime($this->shift_end);
$datetime1 = new DateTime($start);
$datetime2 = new DateTime($end);
$difference = $datetime1->diff($datetime2);
向我們展示你試圖 –
你也可以使用日期時間差異規避代碼的時代轉換爲使用時間戳的strtotime(),減去時間戳,然後通過60 * 60除以將它轉換成小時。 – Kai
這是我嘗試過的一種變體..我稍微改變了一下代碼,以便在幾小時內獲取的字段只是正確格式的字符串,而不是無濟於事。我仍想傳入'H:i:s'並計算兩個對象之間的差異,但由於某些原因無法正確創建新的DateTime對象。 –