我们有一个独特的要求,我们有一周的开始日和一周的结束日(C#),
与现有的Date Time类相反,其开始日为星期日,结束日为星期六,我们将星期三作为我们的开始日,星期二是我们的结束日(这将因客户而异)。
我们需要实现以下逻辑
a)对于给定日期,获取一周的开始日期和结束一周的日期
例如:基于上述情况,如果当天是2010年9月23日(星期四),我们需要将2010年9月22日(周三)作为我们的开始日和2010年9月28日(星期二)作为我们的结束天
我很抱歉有一个更正结束日应该是星期二(每周7天)
有人可以帮忙吗?
由于
答案 0 :(得分:5)
你能不能做到
(dt.DayOfWeek + delta) % 7
答案 1 :(得分:1)
这是我对它的不妥协的解决方案:
public static void CalculateWeek (out DateTime WeekStart, out DateTime WeekEnd, DateTime InputDate)
{
DateTime tempDT = InputDate;
while (tempDT.DayOfWeek != DayOfWeek.Wednesday)
{
tempDT = tempDT.AddDays(-1);
}
WeekStart = tempDT.Date;
while (tempDT.DayOfWeek != DayOfWeek.Tuesday)
{
tempDT = tempDT.AddDays(1);
}
WeekEnd = tempDT.Date;
}
绝不聪明或超级高效,虽然循环迭代次数不会超过7次。