Посчитать(онлайн) сколько месяцев между двумя датами
"сколько месяцев между двумя датами" - разберем теорию подсчета разницы в месяцах между двумя датами! И потом выведем калькулятор онлайн подсчета количества месяцев между двумя датами!
Подробно о подсчете количества месяцев между двумя датами!
- Php - считаем количество месяцев между двумя датами
- Php функция - количество месяцев между двумя датами
Онлайн калькулятор - считаем количество месяцев между двумя датами- Скачать
Php - считаем количество месяцев между двумя датами
Прежде чем приступить к теме "Php - считаем количество месяцев между двумя датами" - нужно сделать маленькое отступление:
Я уже разобрал аналогичные две темы с секундами и днями - там довольно все просто! Обычная математическая задачка!
2020-02-01 и 2020-03-01 - високосный год, разница между ними в секундах будет:
Вторая дата 2021-02-01 и 2021-03-01 - обычный год, разница между ними в секундах будет:
Разница между этими двумя числами(ровно сутки):
Предлагаю округлять - ведь мы говорим о месяцах. Поэтому, выше приведенные доводы вы сможете проигнорировать.
Приступим к высчитыванию разницы между двумя датами в месяцах:
Если мы разделим 365 на 12, то получим : 30,41 - это усредненное количество дней в месяце.
Если случится коллизия описанная выше, то мы получим 0,92(при 28 днях) и 0,95(при 29 днях) - эти два числа вполне можно округлить до 1 месяца...
Возьмем те две даты, где дней 28 : 2021-02-01 и 2021-03-01
С помощью strtotime - получим секунды этих двух дат.
Отнимем секунды:
И разделим их на усредненный месяц
Соберем весь код:
Код подсчета разницы в месяцах между двумя датами
<?
echo (strtotime("2021-03-01") - strtotime("2021-02-01")) / (60*60*24*30.41) ;
?>
Результат подсчета разницы в месяцах между двумя датами
Php функция - количество месяцев между двумя датами
Я тут подумал, а почему бы не написать простую функцию php? которая будет автоматически подсчитывать сколько месяцев с остатками дней?
function howMounth($date1,$date2)
{
$date1 = strtotime($date1);
$date2 = strtotime($date2);
if($date1 > $date2) { $broker=$date2 ; $date2 = $date1; $date1= $broker;}
$months = 0;
while (strtotime('+1 MONTH', $date1) < $date2) {
$months++;
$date1 = strtotime('+1 MONTH', $date1);
}
return $months. ' месяцев, '. ($date2 - $date1) / (60*60*24). ' дней';
}
Протестируем функцию подсчета разницы в месяцах между двумя датами
Возьмем те же две даты и внутри функции поменяем две даты местами... и сравним результат:
Результат подсчета разницы в месяцах между двумя датами
Как видим нашу функция отлично справляется с подсчетом количества месяцев между двумя датами!
Если приведенных примеров недостаточно, то ниже идет "
Онлайн калькулятор - считаем количество месяцев между двумя датами
Для подсчета количества месяцев между датами - заполняем два столбца:
В первом столбце первая дата
Год - обязательно.
Месяц - обязательно.
День - обязательно.
Часы.
Минуты
Во втором столбце вторая дата
Нажимаем кнопку "Сколько месяцев между датами?"
После перезагрузки страницы вы получите результат - "Сколько месяцев между датами?"