我需要检索相对于任何给定日期的最后一个星期二的日期、月份和年份。例如,今天是星期五,2013年3月1日。我希望我的方法返回前一个星期二的日期:26 February, 2013。我怎样才能做到这一点呢?
应该可以了。
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));
这个问题基本上在这里得到了回答:获取一周的第一个星期一的日期?
DateTime input = DateTime.Now;
int delta = DayOfWeek.Tuesday - input.DayOfWeek;
DateTime tuesday = input.AddDays(delta);