2016-01-06 86 views
0

你好,我寫了兩個日期之間計算天的PHP代碼。你能告訴我我犯錯的地方嗎?日期之間的天不工作...

$today = date("Y-m-d"); 
$date = "2015-03-08"; 
$temp = date_create($date); 
$datediff = $today - $temp; 
$days = floor($datediff/(60*60*24)); 
+0

運行代碼時出了什麼問題? – sisyphus

+0

當我今天設置爲2016-01-06,第二個日期設置爲2016-01-01時,輸出結果爲: datediff:2015 days:0 – Artimal

+0

我知道我幾周前曾試過這樣做。我結束了減法計算。 $ datediff = abs($ date1 - $ today) –

回答

1

您可以使用PHPS DateTime對象:

$today = new DateTime(); // Passing no argument defaults to today 
$newYear= new DateTime('2016-01-01'); 
$interval = $today->diff($newYear); 
$diff = $interval->format('%a'); 

echo $diff; 

輸出

5 

如果你想有一個簽名的號碼,然後使用該

$diff = $interval->format('%R%a'); 

輸出

-5 

所以你知道$ newYear是5天之前 $今天。

+0

好吧,它可能會工作,以及如何今天在phps DateTime對象返回$ today變量? – Artimal

+0

爲您調整了代碼。 – maxhb

+0

好吧,我認爲它的作品,但如何將對象數據轉換爲字符串? – Artimal