2012-10-21 159 views
0

好吧,我有一些代碼(我認爲這可能是凌亂和冗餘的地方 - 注意,這是關於總統選舉,看哪個候選人做得比較好,因此羅姆尼的):如何獲得兩個日期之間日差的整數?

$romneytime = intval($twitromney["timestamp"]); 
$romneydate = date('m/d/Y', $romneytime); 
$romlinearray = array(); 
$romlinearray["date"] = null; 
$romlinearray["value"] = null; 
$romneydiffobj = date_diff(date_create_from_format('m/d/Y', $dateromney), date_create_from_format('m/d/Y', $romneydate)); 
$romneydiff = $romneydiffobj->format('%d') 

var_dump($romneydiff); 

由於某種原因,var_dump($romneydiff);沒有提供任何數據。

的代碼應服用的時間戳的整數,將其放入日期格式,然後將其與另一個日期進行比較,然後輸出兩個日期的差。

+0

你錯過了在倒數第二行的末尾分號得到的差異。錯字或問題的根源? –

+0

你在哪裏值分配給$ dateromney,爲什麼您搜索的字符串,而不是整數時間戳之間的區別?我認爲這會更容易。 –

回答

1

使用datetime對象和DIFF()方法返回一個DateInterval,然後用格式從DateInterval

$datetime1 = new DateTime('2009-10-11'); 
$datetime2 = new DateTime('2009-10-13'); 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%R%a days'); 
+0

這不就是我在做什麼? –

+0

而且絕對必須從時間戳轉換。這就是它在數據庫中的樣子。另外一個我可以開始了作爲一個DateTime。 –

+0

@Andrew - 你傳遞兩個日期參數date_diff,使用程序的風格......我使用OO風格,這意味着我創建從一個DateTime對象的差異方法的時間間隔,則只有通過其他datetime對象作爲參數。用同樣的方法,但不能以同樣的方式 –

相關問題