2014-11-03 2 views
0

두 달 간의 월간 차이를 얻으려면 문제가 있습니다.두 날짜 ("F j, Y") 사이의 시간 차별은 PHP에서

$d1 = date_create('January 1, 2013'); 
$date = date("F j, Y"); 
$d2 = date_create($date); 
$dif = date_diff($d1, $d2); 
//echo $dif->format('%y years'); 
echo $dif->format('%m months'); 

개월 단위로 표시되지만 월간 차이는 없습니다. 나는 날짜들 사이에 몇 개월 간의 차이점을 원한다.

+0

이 코드는 '10 개월 '이지만 실제 difnce는 22 개월입니다. –

+0

날짜 ("F j, Y") '는 무엇을 의미합니까? 왜 두 번째 데이트를 찍지 않는거야? – ericpap

+0

현재 날짜가 표시됩니다. –

답변

2

%m은 최대 11 개월까지만 표시됩니다. 그 후 년이 채워집니다. 당신이 전체 개월을 원하는 경우에 당신은 몇 년 동안 그림과 약간의 수학을 수행해야합니다

$d1 = date_create('January 1, 2013'); 
$d2 = date_create(); 
$dif = date_diff($d1, $d2); 
echo ($dif->format('%m') + $dif->format('%y') * 12) . ' months'; 

Demo

참고로, 위의 솔루션은 불필요한 코드를 제거합니다. 오늘 날짜를 원하면 date_create()에 매개 변수를 전달하지 마십시오.

+0

Thank You @jhon Conde –

+0

여기에 계실 것 같았습니다. OP의 좋은 손이다;) –

관련 문제