Select DayOfWeek Last Week

本文关键字:Week Last DayOfWeek Select | 更新日期: 2023-09-27 18:20:59

如何获取上周DayOfWeek的日期?

例如

我想选择6月23日星期日作为DayOfWeek

我只能拿到本周的DayOfWeek

这是我的代码

DateTime today = DateTime.Now;
while (today.DayOfWeek != DayOfWeek.Sunday)
    today = today.AddDays(-1);

Select DayOfWeek Last Week

怎么样:

DayOfWeek dayToFind = DayOfWeek.Sunday;
today.AddDays(-1 * (int)today.DayOfWeek).AddDays(-7).AddDays((int)dayToFind);

第一个AddDays备份到本周的开始,然后AddDays(-7)备份到上一周开始,然后第三个AddDay前进到您要查找的日期。

也许这是:

DateTime today = DateTime.Today;
int difference = today.DayOfWeek - DayOfWeek.Sunday;
DateTime lastSunday = today.AddDays(-difference).AddDays(-(7 * 1));
                                                          //   ^ number of weeks to remove

这基本上是说,"去一周的开始,然后再去掉7天"。

您可以通过创建具有初始日期值的DateTime对象来将其设置为特定日期。如果你想从今天开始计算,而不是指定的日期,只需减去一周。