Я пытаюсь преобразовать разницу между двумя датами в общее количество лет, сейчас я использую это:PHP дата преобразования интервал дифф в десятичную
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2010-10-10');
$interval = $datetime1->diff($datetime2);
return $interval->format('%y');
Это возвращает мне Int (как 0 для <, чем через год, 2 в течение двух лет, и т.д.)
Мне нужна результат десятичных следующим образом:
0,9 - 9 месяцев
1,2 - 1 год и два месяца
3,5 - 3 года и пять месяцев
и так далее ..
Спасибо!
Что это будет выглядеть с 11 месяцев? –
Ну, я чувствую себя довольно глупо сейчас ... Я понятия не имею. Может быть, обработать результат округлить, если десятичная = 10? Мне не нужна такая точность. –
Хорошо ответ, отправленный @Matthew, охватывает оба случая. Если вы, как ни странно, хотите, чтобы 11 месяцев составляли 0,11, то после его нижнего примера. Если вы хотите, чтобы это было нечто очень близкое к 1, ~ 0.93, то следуйте примеру сверху. Это, однако, потеряет ваши хорошие 9 месяцев = 0,9, где 9 месяцев составят 0,75. Это будет иметь большее значение математически, и это то, что я рекомендую. –