考虑到约会,我想计算从周六到周五结束的一周的周末(周五)。
我尝试了以下但是在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());
答案 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个。