读书人

怎么获取一年中某一周是 几号到几号

发布时间: 2013-10-29 12:07:57 作者: rapoo

如何获取一年中某一周是 几号到几号
比如说今年的第44周
我要获取第44周
是10.28号-11.3号(周一到周日)
[解决办法]
Refer this:
http://www.cnblogs.com/insus/tag/Week/
[解决办法]


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

[解决办法]
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
[解决办法]

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年一样的。我按照周一至周日算的。是不是有错误?

读书人网 >asp.net

热点推荐