2015-07-21 4 views
0

У меня есть диапазон дат (дата и количество месяцев), и я хочу подсчитать количество января в этом диапазоне дат.Сколько января в диапазоне дат

Например, заканчивая на 5/2015 и возвращаясь 20 месяцев, есть 2 января: 1/2015 и 1/2014.

+6

Пожалуйста, сделайте усилие первым. Даже если ваш код не работает, поделитесь тем, что у вас есть, и объясните, где вы застряли. –

ответ

1
int currentMonth = 5; 
int monthsBack = 20; 

int numberOfJans = (int) Math.Floor((monthsBack - currentMonth)/12.0) + 1; 

Это математика, а не C#.

0

граф месяцев между образцом

 DateTime dateEnd = Convert.ToDateTime("01/08/2015"); 
     int monthsBack = 24; 

     DateTime dateStart = dateEnd.AddMonths(-monthsBack); 

     int janCount = 0; 
     for (DateTime dd = dateStart; dd < dateEnd; dd = dd.AddMonths(1)) 
     { 
      if (dd.Month == 1) //if jan 
       janCount += 1; 
     } 

     MessageBox.Show(dateStart.ToShortDateString() +" to "+ dateEnd.ToShortDateString() 
         + Environment.NewLine +Environment.NewLine + 
         janCount.ToString() 
         ); 
+0

Не нужно ToString() месяца в вашем статусе if. dd.Month == 1 будет достаточно. – Shar1er80

+0

@ Shar1er80 спасибо за указание, был сонным –

Смежные вопросы