2015-07-21 77 views
0

我有一个日期范围(日期和月数),我想要统计该日期范围内Januarys的数量。在日期范围内有多少Januarys

例如,结束于5/2015并且回溯20个月有2个Januarys:1/20151/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

没有必要在你的if语句中使用ToString()。 dd.Month == 1就足够了。 – Shar1er80

+0

@ Shar1er80感谢指点,很困 –