还有其他帖子用于计算上周的最后一个日期,但所有人都在考虑当前日期...... DateTime.Now
在这里,我想根据某个特定日期计算上周的最后一个日期。
假设星期日为本周的开始日。
有没有办法计算上周的最后日期,即,假设给定日期是20-Nov-2015
是星期五。
那么上周的最后一天将是14-Nov-2015
。
我认为即使日期为15-Nov-2015
,其上一周的最后日期也应为14-Nov-2015
。
简单地说如何根据给定日期计算前一周的星期六日期?
答案 0 :(得分:3)
你可以通过一个简单的循环来完成:
string yourInput = "2015-11-20";
DateTime reference = DateTime.ParseExact(yourInput , "yyyy-MM-dd", CultureInfo.InvariantCulture);
DateTime lastSaturday = reference ;
do
{
lastSaturday = lastSaturday.AddDays(-1) ;
}
while(lastSaturday.DayOfWeek != DayOfWeek.Saturday);
Console.WriteLine(lastSaturday.ToString("dd-MMM-yyyy")) ;
// Should print 14-Nov-2015