2012-12-07 46 views
0

只是想知道爲什麼$天給我一個-0.511111111111天。 $ dc_time-> fields [0]的值是2012-12-07 12:16:00。有人可以解決問題嗎?謝謝。php sql負面日子結果

$dc_date = $dc_time->fields[0]; 
$today = date('Y-m-d'); 

$dc_date = strtotime($dc_date); 
$today = strtotime($today); 
$delta = $today - $dc_date; 
$days= ($delta/86400); 
+1

我真的不明白它有什麼問題嗎?它告訴你,** 2012年12月7日12:16 **大約是半天前,這是(我不知道你的時區)可能是正確的。你到底在期待什麼? – George

+0

是的,但我不知道它爲什麼會在小數點之前給出負號( - )。 $今天的時間是2012年12月7日15:10。 – damdeok

+0

我可以使用abs和round,但我認爲出現了一些問題。在我的數據庫$ dc_time->字段[0]是disconnecttm(列)smalldatetime(數據類型) – damdeok

回答

1

$today變量沒有獲得時間,所以它被設置爲默認值(午夜)。

要麼給時間你$today

$dc_date = $dc_time->fields[0]; 
$today = date('Y-m-d H:i:s'); 

$dc_date = strtotime($dc_date); 
$today = strtotime($today); 
$delta = $today - $dc_date; 
$days= ($delta/86400); 

或者,如果你不真正需要的是,剛剛獲得時間戳直線距離:

$dc_date = $dc_time->fields[0]; 

$dc_date = strtotime($dc_date); 
$today = time(); 
$delta = $today - $dc_date; 
$days= ($delta/86400); 

你的腳本認爲,時間是因爲$today將在[今天]上午00:00:00。我希望這有幫助。

+0

This $ today = date('Y-m-d H:i:s');是我所需要的,它用負值解決了問題。謝謝。 – damdeok

+0

很高興幫助我的朋友。 – George