date — Как вычесть 300 дней из 40 лет с PHP?

Я хотел бы вычесть 300 дней из 40 лет (14609 дней), и я хотел бы получить результаты, как;

ХХ ЛЕТ
XX МЕСЯЦЕВ
XX ДНЕЙ

Я знаю, что должен написать свой код здесь, но проблема в том, что я не знаю, как писать код.

Спасибо.

1

Решение

Ну, как сказал NateB, лучшее, что вы можете получить — это близкое приближение. Каждый год имеет в среднем 365,25 дней в течение 12 месяцев. Средний месяц будет иметь (365.25/12)или 30,4375 дней. Что приводит нас к следующему коду:

$total_days = 14610-300;

$total_months = $total_days/30.4375;
$days_left = fmod($total_days, 30.4375);

$total_years = $total_months/12;
$months_left = fmod($total_months, 12);

echo floor($total_years)." years, ".floor($months_left)." months, ".round($days_left)." days";

Это возвращает:

39 лет, 2 месяца, 4 дня

Обратите внимание, что вместо округления дней вы можете указать десятичную или даже вычислить, сколько часов:

echo floor($total_years)." years, ".floor($months_left)." months, ".number_format($days_left, 1)." days";

Это возвращает:

39 лет, 2 месяца, 4,4 дня

Я не думаю, что вы можете сделать лучше, чем это для того, что вам нужно.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]