C# 检索前一个星期二的日期

C# 检索前一个星期二的日期,c#,datetime,C#,Datetime,我需要检索相对于任何给定日期的最后一个星期二的日期、月份和年份。例如,今天是2013年3月1日星期五。我希望我的方法返回前一个星期二的日期:2013年2月26日。我怎样才能做到这一点呢?这应该可以做到 var yesterday = DateTime.Now; while(yesterday.DayOfWeek != DayOfWeek.Tuesday) { yesterday = yesterday.AddDays(-1); } 这应该能奏效 var yesterday = DateT

我需要检索相对于任何给定日期的最后一个星期二的日期、月份和年份。例如,今天是2013年3月1日星期五。我希望我的方法返回前一个星期二的日期:2013年2月26日。我怎样才能做到这一点呢?

这应该可以做到

var yesterday = DateTime.Now;

while(yesterday.DayOfWeek != DayOfWeek.Tuesday) {
  yesterday = yesterday.AddDays(-1);
}

这应该能奏效

var yesterday = DateTime.Now;

while(yesterday.DayOfWeek != DayOfWeek.Tuesday) {
  yesterday = yesterday.AddDays(-1);
}

我会这样做:

var lastTuesday = DateTime.Today.AddDays(
     -1 * (DateTime.Today.DayOfWeek - DayOfWeek.Tuesday));  
var lastMonday = DateTime.Today.AddDays(
     -1 * (DateTime.Today.DayOfWeek - DayOfWeek.Monday));

我会这样做:

var lastTuesday = DateTime.Today.AddDays(
     -1 * (DateTime.Today.DayOfWeek - DayOfWeek.Tuesday));  
var lastMonday = DateTime.Today.AddDays(
     -1 * (DateTime.Today.DayOfWeek - DayOfWeek.Monday));

这里基本上回答了这个问题:


这里基本上回答了这个问题:


我没有尝试过,因为我不知道如何实现这一点。我的输入将是今天的日期,Datetime。现在,我需要上周二的信息作为输出。所以谷歌不工作,那么作为一个起点,你可能会读到我没有尝试过,因为我不知道如何实现这一点。我的输入将是今天的日期,Datetime。现在,我需要上周二的信息作为输出。所以谷歌不工作,那么作为一个起点,你可以阅读它正在工作。非常感谢。:)它正在工作。非常感谢。:)