2012-11-15 2 views

답변

1

그냥 인간적인 방식으로하십시오. 하루가 오늘보다 낮 으면 월을 뺀 다음 하나를 더합니다.

$timestamp = strtotime('January 28'); 

list($old_year, $old_month, $old_day) = explode('-', date('Y-m-d', $timestamp)); 
list($now_year, $now_month, $now_day) = explode('-', date('Y-m-d')); 

$months_ago = 12 * ($now_year - $old_year) + $now_month - $old_month; 
if ($old_month < $now_month && $old_day < $now_day) { 
    ++$months_ago; 
} 

echo $months_ago; 
3

간단한 방법은 그것을 할 수 있습니다 : 당신은 DateInterval 함께 놀러해야

$datetime1 = new DateTime('2012-11-15'); 
$datetime2 = new DateTime('2012-12-15'); 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%R%m months'); // output : +1 months 

. 정말 강력합니다. http://www.php.net/manual/en/class.dateinterval.php

+0

답변 해 주셔서 감사합니다. 이것은 정확하지 않습니다. 나는 $ datetime1 = new DateTime ('2012-02-01')을 시도했다. $ datetime2 = new DateTime ('2012-03-02'); 1 대신에 0이 돌아 왔습니다. Jack이 설명한 방식이 옳다고 생각합니다. – Susitha

관련 문제