我怎样才能得到DayOfWeek
上周的日期?
例如
我想选择 6 月 23 日星期日作为DayOfWeek
?
我只能得到DayOfWeek
本周的。
这是我的代码
DateTime today = DateTime.Now;
while (today.DayOfWeek != DayOfWeek.Sunday)
today = today.AddDays(-1);
我怎样才能得到DayOfWeek
上周的日期?
例如
我想选择 6 月 23 日星期日作为DayOfWeek
?
我只能得到DayOfWeek
本周的。
这是我的代码
DateTime today = DateTime.Now;
while (today.DayOfWeek != DayOfWeek.Sunday)
today = today.AddDays(-1);
怎么样:
DayOfWeek dayToFind = DayOfWeek.Sunday;
today.AddDays(-1 * (int)today.DayOfWeek).AddDays(-7).AddDays((int)dayToFind);
第一个 AddDays 备份到本周的开始,然后 AddDays(-7) 备份到上周的开始,然后第三个 AddDays 前进到您正在寻找的那一天。
也许是这样:
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 对象来将其设置为特定日期。如果您希望它基于今天而不是指定日期,只需减去一周。