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