2014-11-20 40 views
0

我有startdateenddate格式Y-m-d如何获得Laravel的月份持续时间

'startdate'=>date('Y-m-d', strtotime(Input::get('startdate'))), 
'enddate'=>date('Y-m-d', strtotime(Input::get('enddate'))) 

我怎样才能得到这两天的时间,像Laravel 2 months1 month2 weeks

回答

2

可以使用Carbon类,它已经包含在Laravel 4,以可读的格式获得两天之间的差异。

$startDate = Carbon::createFromFormat('Y-m-d', Input::get('startdate')); 
$endDate = Carbon::createFromFormat('Y-m-d', Input::get('enddate')); 

echo $startDate->diffForHumans($endDate); 
+1

如果你不需要 '之前'/ '后' 的落后字: '回声的preg_replace( '/(.*)(前|后)/', '$ 1',$ startDate- > diffForHumans($结束日期));' – 2014-11-20 18:34:18

2

基本上,它是Carbon

$start = new Carbon(date('Y-m-d', strtotime(Input::get('startdate')))); 
$end = new Carbon(date('Y-m-d', strtotime(Input::get('enddate')))); 
$diff_days = $start->diff($end)->days; 

嗯,有更多,请查阅该文档的详细信息:https://github.com/briannesbitt/Carbon#api-difference

相关问题