检索前一个星期二的日期

时间:2013-03-01 17:26:34

标签: c# datetime

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

3 个答案:

答案 0 :(得分:4)

这应该可以解决问题。

var yesterday = DateTime.Now;

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

答案 1 :(得分:0)

我会做这样的事情:

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

答案 2 :(得分:0)

这基本上是在这里回答的:Get date of first Monday of the week?

DateTime input = DateTime.Now;
int delta = DayOfWeek.Tuesday - input.DayOfWeek;
DateTime tuesday = input.AddDays(delta);