查找每月的第三个星期日定的两个日期之间发生第三个、星期日、两个、日期

2023-09-07 08:42:19 作者:霸气ヽ爵爷℡

找到的第三个星期日 每月下面给出之间发生的两个日期

Find third Sunday of each month occur between given below two dates.

开始日期: - 07-06-2011 // DD-MM-YYYY

Start Date:- 07-06-2011 // dd-mm-yyyy

结束日期: - 2012-06-07 // DD-MM-YYYY

End Date:- 07-06-2012 // dd-mm-yyyy

使用 C#.NET 的

USE 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;
}