Посчитать количество месяцев между двумя датами - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Нужно посчитать количество полных месяцев между двумя датами. Пишу:
            DateTime dt1 = new DateTime(2014, 1, 1);
            DateTime dt2 = new DateTime(2014, 12, 31);
            int months = (dt2.Month + dt2.Year * 12) - (dt1.Month + dt1.Year * 12);
            MessageBox.Show(months.ToString());
Выводит 11 месяцев. Хотя по коду начали с 1 января, а закончили - 31 декабря. Где ошибка в коде, как правильно подсчитать?

Решение задачи: «Посчитать количество месяцев между двумя датами»

textual
Листинг программы
 var nMonth = (int) (dt2.Subtract(dt1).TotalDays/(365.25/12)) + (dt2.AddDays(1).Month == dt2.Month ? 0 : 1);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы