如何计算上周某某日期的最后日期?

时间:2015-11-20 09:06:50

标签: c# date

还有其他帖子用于计算上周的最后一个日期,但所有人都在考虑当前日期...... DateTime.Now

在这里,我想根据某个特定日期计算上周的最后一个日期。

假设星期日为本周的开始日。

有没有办法计算上周的最后日期,即,假设给定日期是20-Nov-2015是星期五。 那么上周的最后一天将是14-Nov-2015

我认为即使日期为15-Nov-2015,其上一周的最后日期也应为14-Nov-2015

简单地说如何根据给定日期计算前一周的星期六日期?

1 个答案:

答案 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