Как я могу рассчитать числа месяца между двумя датами в C #

Я хотел бы знать, как рассчитать числа месяца между двумя датами. Есть ли способ рассчитать его в C #?

Eg1.    Date1 = "2011/11/01"  
        Date2 = "2012/02/01"     
Result. Numbers of Month =3  

 Eg2.  Date1 = "2012/01/31"
       Date2 = "2012/02/01"  
Result. Numbers of Month =1

 Eg3.  Date1 = "2012/01/01"  
       Date2 = "2012/02/28"
 Result. Numbers of Month =1
 lelewin31 мая 2012 г., 10:39
@ Евгений Рябцев: спасибо большое. Я хочу знать только месяц. Если две даты 2012-01-25 и 2012-02-01, я хочу, чтобы результат был 1. И также 202-01-25 и 2012-02-24, я хочу результат 1.
 lelewin31 мая 2012 г., 10:19
@ Дэвид Брабант большое спасибо за вашу ссылку.
 CodesInChaos31 мая 2012 г., 10:15
Как насчет еще нескольких тестов? Ваша проблема не указана. Это одна из проблем, когда понять, что вы хотите, сложнее, чем реализовать.
 Eugene Ryabtsev31 мая 2012 г., 10:17
Сначала вы должны иметь четкое представление о том, что такое «количество месяцев между двумя датами». Как 2012-01-25 до 2012-02-01 или 2012-02-24 и т. Д. Если вы это сделаете, проверьте ответы, если они соответствуют вашей идее.

Ответы на вопрос(2)

Решение Вопроса

Это даст разницу между месяцами:

int months = (Date2.Year - Date1.Year) * 12 + Date2.Month - Date1.Month;
 31 мая 2012 г., 10:23
Это вообще не учитывает день месяца. Например, он даст столько же месяцев между 31 мая и 1 июня, сколько между 1 мая и 31 июня. Я не думаю, что многие люди ожидают такого результата.
 31 мая 2012 г., 10:22
Это возможный ответ, в зависимости от того, чего на самом деле хочет ОП. Например, это вернет 1 для MonthBetween (2012-06-01, 2012-05-31), что может быть или не быть тем, что хочет OP.
 lelewin31 мая 2012 г., 11:36
@Jon Skeet: мне очень жаль за мой неясный вопрос. Я вообще не хочу принимать во внимание день месяца из-за системных требований. Теперь я отредактировал свой вопрос.

мойВремя Нода Проект предусматривает это:

LocalDate date1 = new LocalDate(2011, 11, 1);
LocalDate date2 = new LocalDate(2012, 2, 1);
Period period = Period.Between(date1, date2, PeriodUnits.Months);
long months = period.Months; // 3

Увидетьпроектная документация по арифметике для дополнительной информации.

Ваш ответ на вопрос