计算周六到周五的周末周末

时间:2011-05-23 19:58:35

标签: .net datetime

考虑到约会,我想计算从周六到周五结束的一周的周末(周五)。

我尝试了以下但是在2月,02/26/2011遇到问题的是02/25/2011而不是03/04/2011

System.DateTime weekStart = thedate.AddDays(-Convert.ToInt32(theDate.DayOfWeek) - 1);
System.DateTime weekEnd = weekStart.AddDays(6);
Interaction.MsgBox(weekEnd.ToString());

2 个答案:

答案 0 :(得分:3)

当你星期六过关时,你减去7天而不是使用那一天。

DateTime weekStart = theDate.DayOfWeek == DayOfWeek.Saturday
                     ? theDate
                     : theDate.AddDays(-Convert.ToInt32(theDate.DayOfWeek) - 1);

DateTime weekEnd = weekStart.AddDays(6);

答案 1 :(得分:1)

那就是:

System.DateTime weekStart = thedate.AddDays(-(Convert.ToInt32(thedate.DayOfWeek) + 1) % 7);
System.DateTime weekEnd = weekStart.AddDays(6);

基本上,请确保不要减去超过6个。