0

我需要检索上周二相对于任何给定日期的日期、月份和年份。例如,今天是 2013 年 3 月 1 日星期五。我希望我的方法返回前一个星期二的日期:2013 年 2 月 26 日。我该如何实现?

4

3 回答 3

4

这应该可以解决问题。

var yesterday = DateTime.Now;

while(yesterday.DayOfWeek != DayOfWeek.Tuesday) {
  yesterday = yesterday.AddDays(-1);
}
于 2013-03-01T17:41:38.657 回答
0

我会做这样的事情:

var lastTuesday = DateTime.Today.AddDays(
     -1 * (DateTime.Today.DayOfWeek - DayOfWeek.Tuesday));  
var lastMonday = DateTime.Today.AddDays(
     -1 * (DateTime.Today.DayOfWeek - DayOfWeek.Monday));
于 2013-03-01T17:50:38.110 回答
0

这基本上在这里得到了回答:获取一周的第一个星期一的日期?

DateTime input = DateTime.Now;
int delta = DayOfWeek.Tuesday - input.DayOfWeek;
DateTime tuesday = input.AddDays(delta);
于 2013-03-01T18:35:22.830 回答