如何获得上周DayOfWeek
的日期?
例如
我想选择6月23日星期日为DayOfWeek
?
我只能得到本周的DayOfWeek
。
这是我的代码
DateTime today = DateTime.Now;
while (today.DayOfWeek != DayOfWeek.Sunday)
today = today.AddDays(-1);
答案 0 :(得分:2)
怎么样:
DayOfWeek dayToFind = DayOfWeek.Sunday;
today.AddDays(-1 * (int)today.DayOfWeek).AddDays(-7).AddDays((int)dayToFind);
第一个AddDays备份到 this 周的开始,然后AddDays(-7)备份到 last 周的开始,然后第三个AddDays进入你正在寻找的那一天。
答案 1 :(得分:2)
也许这就是:
DateTime today = DateTime.Today;
int difference = today.DayOfWeek - DayOfWeek.Sunday;
DateTime lastSunday = today.AddDays(-difference).AddDays(-(7 * 1));
// ^ number of weeks to remove
这基本上说,“转到本周开始,然后再删除7天”。
答案 2 :(得分:0)
您可以通过使用初始日期值创建DateTime对象来将其设置为特定日期。如果您希望它基于今天而不是指定日期,则只需减去一周。