【发布时间】:2014-04-28 15:30:18
【问题描述】:
这可能简单得令人尴尬,但我有一个“不会做基本数学”的日子。
我有一个系统,我们会根据当天的订单来切断订单,例如,周五下午 4 点之后您不能为下周日订购,或者周二下午 2 点之后您不能为第二天订购。知道我需要在 5 月 4 日星期日说好我需要一个产品,截止日期是什么时候,让它告诉我现在是 5 月 2 日星期五。
所以我有以下无法正常工作的代码
int offset = (int)reqDate.DayOfWeek - thiscafeday.day_number;
DateTime cutoffDateTime = reqDate.AddDays(-offset);
其中 reqDate.DayOfWeek 是星期日 (0),thiscafeday.day_number 是星期五 (5)。我需要星期五的约会。如果截止日期是第二天,那么 cutoffDateTime 值是正确的,但星期日(即 DayOfWeek 0)似乎把一切都搞砸了。我似乎经常得到正确的一天,但 下一个 周,而不是前一周(我猜我们是由于负偏移量)。
如果有人有一种简单的方法可以在给定当前日期的情况下获取过去一周内任意一天的日期,我将非常感谢您的帮助。
我也尝试过
((7- (int)reqDate.DayOfWeek + thiscafeday.day_number) % 7)
但也无法让它工作。
任何帮助表示赞赏。
【问题讨论】: