查找每个月的第三个星期日发生在以下两个日期之间。

开始日期:-2011年7月6日// dd-mm-yyyy

结束日期:-2012年7月6日// dd-mm-yyyy

使用C#.NET

最佳答案

这应该可以解决问题:

public List<DateTime> ThirdSundayOfEachMonth( DateTime startdate, DateTime enddate )
{
  List<DateTime> result = new List<DateTime>();
  int sundaymonthcount = 0;
  for( DateTime traverser = new DateTime(startdate.Year, startdate.Month, 1); traverser <= enddate; traverser = traverser.AddDays(1) ){
    if( traverser.DayOfWeek == DayOfWeek.Sunday ) sundaymonthcount++;
    if( sundaymonthcount == 3 && traverser > startdate ){
      result.Add(traverser);
      sundaymonthcount = 0;
      traverser = new DateTime( traverser.Year, traverser.Month, 1 ).AddMonths(1);
    }
  }
return result;
}

关于c# - 查找每个月的第三个星期日发生在给定的两个日期之间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6264006/

10-11 02:30