一个月内有几个周一,大家集思广益
一个月内有几个周一,大家给个思路
------解决方案--------------------DateTime.DayOfWeek来遍历不就OK了!
------解决方案--------------------一个月是28到31天,所以至少是4个星期一,然后就看要不要加一个了。   
 (当月总天数-4*7)=n ,就要看这里面有没有星期一了,做个循环从当月最后一天往前推n天,看看有没有星期一就可以。 
------解决方案--------------------///  <summary>  
 /// 统计一段时间内有多少个星期几 
 ///  </summary>  
 ///  <param name= "AStart "> 开始日期 </param>  
 ///  <param name= "AEnd "> 结束日期 </param>  
 ///  <param name= "AWeek "> 星期几 </param>  
 ///  <returns> 返回个数 </returns>  
 public int TotalWeeks(DateTime AStart, DateTime AEnd, DayOfWeek AWeek) 
 { 
     TimeSpan vTimeSpan = new TimeSpan(AEnd.Ticks - AStart.Ticks); 
     int Result = (int)vTimeSpan.TotalDays / 7; 
     for (int i = 0; i  <= vTimeSpan.TotalDays % 7; i++) 
         if (AStart.AddDays(i).DayOfWeek == AWeek) 
             return Result + 1; 
     return Result; 
 } /* TotalWeeks */   
 private void button1_Click(object sender, EventArgs e) 
 { 
     Console.WriteLine(TotalWeeks(new DateTime(2007, 06, 01),  
         new DateTime(2007, 06, 30), DayOfWeek.Monday)); 
 }