2013-07-25 114 views
0

我一直使用下面的代碼來計算兩個日期之間的差異(天)。但我想知道是否有更聰明的東西,有人知道更好的方法來做到這一點?兩天之間的天差

//86400 one day 
$data1 = '2013-07-24 21:30:00'; 
$data2 = '2013-08-24 21:30:00'; 

$diff = (abs(strtotime($data1) - strtotime($data2)))/86400; 

var_dump($diff); 

回答

5

您可以使用DateTime:diff

$date1 = DateTime::createFromFormat('Y-m-d H:i:s', '2013-07-24 21:30:00'); 
$date2 = DateTime::createFromFormat('Y-m-d H:i:s', '2013-08-24 21:30:00'); 
$interval = $date1->diff($date2); 
echo $interval->format('%R%a days'); 

$data1 = new DateTime('2013-07-24 21:30:00'); 
$data2= new DateTime('2013-08-24 21:30:00'); 
$interval = $data1->diff($data2); 
echo $interval->format('%R%a days'); 

你也可以在你輸入的日期有不同的格式,例如使用的情況下爲DateTime::createFromFormat更好的結果