2013-09-27 27 views
-1

在php中,如果在日期/時間格式示例「2013-09-08 00:25:31」中有一個字符串,那麼如何將它與當前時間進行比較,並獲得天數的差異?如何在php中獲取日期差異?

謝謝。

+0

一種方法是使用[strtotime()](http://www.php.net/manual/en/function.strtotime.php)。 – jedwards

+0

unix時間戳 –

回答

1

你應該檢查DateTime::diff

你可能不喜歡它

$now = new DateTime(); 
$prev = new DateTime('2013-09-08'); 
$interval = $now->diff($prev); 
echo $interval->format('%R%a days'); 
+0

你如何得到整數格式的區別? – omega

+0

@omega:'echo $ interval-> days;' –

1

可以使用的strtotime()兩個日期轉換爲UNIX時間,然後計算出它們之間的秒數。由此可以很容易計算出不同的時間段。

$date1 = "2007-03-24"; 
$date2 = "2009-06-26"; 

$diff = abs(strtotime($date2) - strtotime($date1)); 

$years = floor($diff/(365*60*60*24)); 
$months = floor(($diff - $years * 365*60*60*24)/(30*60*60*24)); 
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); 

printf("%d years, %d months, %d days\n", $years, $months, $days); 

您檢查this鏈接以獲得更多答案。