public void BindWeek(int curWeek) { ddlWeek.Items.Clear(); ListItem li; for (int i = 1; i < 54; i++)//一年53周 { li = new ListItem(); string[] arr = GetWeek(Convert.ToInt32(ddlYear.SelectedItem.Text), i); li.Text = i.ToString() + "(" + arr[0].Substring(5) + "--" + arr[1].Substring(5) + ")"; li.Value = i.ToString(); ddlWeek.Items.Add(li); } ddlWeek.SelectedValue = curWeek.ToString(); } //根据第几周 查找开始和结束日期 public static string[] GetWeek(int nYear, int nNumWeek) { string[] inti = new string[2]; DateTime dt = new DateTime(nYear, 1, 1); dt = dt + new TimeSpan((nNumWeek - 1) * 7, 0, 0, 0); DateTime dtWeekStart = dt.AddDays(-(int)dt.DayOfWeek + (int)DayOfWeek.Monday); DateTime dtWeekeEnd = dt.AddDays((int)DayOfWeek.Saturday - (int)dt.DayOfWeek + 1); inti[0] = dtWeekStart.ToString("yyyy.MM.dd"); inti[1] = dtWeekeEnd.ToString("yyyy.MM.dd"); return inti; } //当前日期的周数 public static int WeekOfYear(DateTime curDay) { int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() + "- " + DateTime.Now.Month + "-" + DateTime.Now.Day).DayOfWeek); int days = curDay.DayOfYear; int daysOutOneWeek = days - (7 - firstdayofweek); if (daysOutOneWeek <= 0) { return 1; } else { int weeks = daysOutOneWeek / 7; if (daysOutOneWeek % 7 != 0) weeks++; return weeks + 1; } }