2014-06-19 159 views
1

首先在任何人寫它之前,我知道有很多關於它的話題,我已經檢查了很多它們,但沒有任何東西適合我。我只需要從date_out中減去日期,這很容易在PHP 5.3中,但我在某人的服務器上,並不能更新它...日期在這兩個字段是格式化像這樣(2014年6月2日16時43分47秒)PHP 5.2.17日期時間差

實例下正常工作,因爲它是(我發現它的地方堆棧)

$start = new DateTime('2010-10-12'); 
$end = new DateTime(); 
$days = round(($end->format('U') - $start->format('U'))/(60*60*24)); 

但是當我改變$開始和$結束從我的DB數據,最後一行$ days拋出一個錯誤( - >格式('U'))似乎是一個問題。這怎麼解決?

(端之間的區別/開始絕不會一個多小時的更大最多)

+0

嘗試使用碳這樣的東西:https://github.com/briannesbitt/Carbon#api-difference – Arda

+2

@JohnConde *咳嗽* 5.2.17 *咳嗽* – DaveRandom

+0

@DaveRandom我試着在codeviper上使用5.2.17的John粘貼,結果是1346,如果這是期望的最終結果。 http://codepad.viper-7.com/TLLKyk –

回答

1

我終於想通了!

$date_inA = $sql_array[3]; 
$date_inB = new DateTime($date_inA); 
$date_outA = $sql_array[4]; 
$date_outB = new DateTime($date_outA); 

$diff = round(($date_outB->format('U') - $date_inB->format('U'))/(60*60*24)); 

我需要字符串對象的值更改爲DateTime對象,我認爲這是已經在DB日期時間的對象......

+1

太好了。 +1很高興聽到它。乾杯 –