比如说今年的第44周
我要获取第44周
是10.28号-11.3号(周一到周日)

解决方案 »

  1.   

    Refer this:
    http://www.cnblogs.com/insus/tag/Week/
      

  2.   


    DateTime dt = new DateTime(2013, 1, 1).AddDays(-1);
    DateTime d1 = dt.AddDays((44 - 1) * 7);//2013-10-28
    DateTime d2 = d1.AddDays(6);//2013-11-03
      

  3.   

            public DateTime GetDateTimeForWeekFirstDay(int Year, int num)
            {
                DateTime day = new DateTime(Year, 1, 1);
                return day.AddDays(7 * (num - 1) - ((int)day.DayOfWeek % 7 == 0 ? 0 : (int)day.DayOfWeek));
            }
    获取某一周的第一天,最后一天用第一天+6
      

  4.   


     DateTime firstDay = new DateTime(2013, 1, 1);
                //第一天周几
                int firstdayofweek = Convert.ToInt32(firstDay.DayOfWeek);
                //第一个周一(周一对应1)
                DateTime firstMonday = firstdayofweek <= 1 ? firstDay.AddDays(1 - firstdayofweek) :
                    firstDay.AddDays(8 - firstdayofweek);
                //第44周的日期
                DateTime targetDay = firstMonday.AddDays(7 * (44 - 2));
                Console.Write(targetDay.ToShortDateString());
                Console.ReadKey();跟楼上大神有出入,我试了2009年相差一天,2013年一样的。我按照周一至周日算的。是不是有错误?