2012-01-09 106 views
2

可能重复:
Calculate previous week's start and end dateC#前一周日期

我需要在C# 前一周开始日期如。今天是1月9日。 上周开始日期是1月1日。

我使用下面的代码

DayOfWeek weekStart = DayOfWeek.Sunday; 
    DateTime startingDate = DateTime.Today; 

    while (startingDate.DayOfWeek != weekStart) 
     startingDate = startingDate.AddDays(-1); 

    DateTime previousWeekStart = startingDate.AddDays(-7); 

这是在C#中的最佳方式

感谢

+0

假设星期的开始是星期天? – 2012-01-09 10:14:04

回答

4

尝试:

DateTime.Today.AddDays(-7); 
+0

他不希望今天7,他希望StartOfCurrentWeek-7 – 2012-01-09 10:17:47

+0

这实际上并没有给出答案,因为上周可能还没有开始7天前(根据OP的例子)。 – Darbio 2012-01-09 10:17:59

+0

OP说'我需要在c#中获得前一周的开始日期,例如。今天是1月9日......所以,我可以计算出今天7天前的日期。那里我没有看到任何错误。让我知道如果我的理解是错误的 – Rahul 2012-01-09 10:20:24

11

如前所述重复的反应大概会为你做

mondayOfLastWeek = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek - 6); 
sundayOfLastWeek = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek) 
相关问题