2012-12-11 55 views
3

因此,我使用此方法获取了两个日期之间的差异。将年份或月份转换为天数,PHP

$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)); 

现在,让我们说我想将年份和月份转换为天。我怎么做?

+1

你应该看看这个:http://de2.php.net/DateTime要容易得多。 – looper

+0

重复:http://stackoverflow.com/questions/4233605/elegant-way-to-get-the-count-of-months-between-two-dates – GBD

回答

5

使用DateTime这是小菜一碟:

$date1 = new DateTime($date1); 
$date2 = new DateTime($date2); 

$diff = $date1->diff($date2, true); 

echo $diff->format('%a') . ' days'; 
+0

你打败了我的一些第二.... + 1 –

+0

它适用于我,但我用它与% echo $ diff-> format('%a')。 ' 天'; – Eugene

+0

@Jack,也许它与PHP的版本有关?我使用的是5.5.9,它只适用于%。所以对于其他人来说这只是一个小技巧,如果它不起作用。 – Eugene

0
$currentDate = date("d-m-Y"); 
$date1 = date_create("".$joining_date.""); 
$date2 = date_create("".$currentDate.""); 
$diff12 = date_diff($date2, $date1); 
$hub_days = $diff12->days; 
$months = $diff12->m; 
$years = $diff12->y; 
相关问题