可以先取两个日期所在周的星期天的日期。
然后再比较两个星期日之间相隔天数。
然后用天数/7取整。得到便是这两个日期之间的星期天数。
假如日期t1,t2
DateTime t1=DateTime.Parse("2007-8-12");
DateTime t2=DateTime.Parse("2007-9-26");
DateTime dt1;
DateTime dt2;
if(Convert.ToInt32(t1.DayOfWeek)==0)
{
dt1=t1;
}
else
{
dt1= t1.AddDays(Convert.ToDouble((7 - Convert.ToInt32(t1.DayOfWeek))));//t1所在周的星期天
}
if(Convert.ToInt32(t2.DayOfWeek)==0)
{
dt2=t2;
}
else
{
dt2= t2.AddDays(Convert.ToDouble((7 - Convert.ToInt32(t2.DayOfWeek))));//t2所在周的星期天
}
TimeSpan a=dt2.Subtract(dt1);
int n=Convert.ToInt32(a.TotalDays)/7;
n即为所求。。

解决方案 »

  1.   

    //相隔天数
                TimeSpan ts = new TimeSpan();
                ts = Calendar2.SelectedDate - Calendar1.SelectedDate;
                int days = ts.Days;
                txtDays.Text = days.ToString();            //存在几个星期天
                int weekday1 = Convert.ToInt32(Calendar1.SelectedDate.DayOfWeek);            //0代表星期天 开始的那天是星期几
                int weekday2 = Convert.ToInt32(Calendar2.SelectedDate.DayOfWeek);            //0代表星期天 结束的那天是星期几            int weekend = days / 7;                     //至少有几个星期天,整除
                int mod = days % 7;                         //多余的几天 余数
                if ((mod + weekday1) > 7 || (weekday1 > weekday2))
                {
                    weekend = weekend + 1;
                }
                txtCSunday.Text = weekend.ToString();
      

  2.   

    Calendar1和Calendar2为2个日历控件
    txtCSunday为一个Textbox 输出2个日期中有几个星期天程序通过测试.