当前位置:编程学习 > C#/ASP.NET >>

一个月有多少周!!

错误原因:从星期天至星期六算一周,二月份正确的是五周,但我显示出来是四周,求高手指点哪里写错了!!

 public void binds()
        {
            int year, month;
            year = Convert.ToInt32(DropDownList1.SelectedValue);
            month = Convert.ToInt32(DropDownList2.SelectedValue);
            DateTime weekstart = new DateTime(year, month, 1);
            DateTime monend = weekstart.AddMonths(1).AddDays(-1);
            int i = 1;
            int dayofweek = Convert.ToInt32(weekstart.DayOfWeek.ToString("d"));
            DateTime weekend = dayofweek == 0 ? weekstart : weekstart.AddDays(7 - dayofweek);
            string str1 = "第" + i + "个周";

            DropDownList3.Items.Add(new ListItem(str1));
            while (weekend.AddDays(1) < monend)
            {
                i++;
                weekstart = weekend.AddDays(1);
                weekend = weekend.AddDays(7) > monend ? monend : weekend.AddDays(7);
                string str = "第" + i + "个周";
                DropDownList3.Items.Add(new ListItem(str));
                
               

            }
           
        } --------------------编程问答-------------------- //判断改天为此月的第几周 weekstart=1(周1算第一天)weekstart=2(周日算第一天)
protected int WeekOfMonth(DateTime day,int WeekStart)
{
  DateTime firstofmonth;
  firstofmonth=Convert.ToDateTime(day.Date.Year+"-"+day.Date.Month+"-"+1);
  if(i==0)
  {
  i=7;  
  }
  if(WeekStart==1)
  {
  return (day.Date.Day+i-2)/7+1;
  }
  if(WeekStart==2)
  {
  return (day.Date.Day+i-2)/7;
  }
  return 0;
}
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,