获取过去七天的日期

use*_*016 2 .net c# datetime

我想从现在开始过去七天的日期.例如,当前日期是

02-10-2016, 像这样得到七天的日期

01-10-2016,30-09-2016,29-09-2016,28-09-2016,27-09-2016,26-09-2016
Run Code Online (Sandbox Code Playgroud)

我的代码

string dt = DateTime.Now.ToString("yyyy-MM-dd");
DateTime lastWeek = dt.AddDays(-7.0);
Run Code Online (Sandbox Code Playgroud)

Yel*_*yev 9

AddDaysDateTime,而不是string.的一部分.
您需要迭代地构建日期,然后将其转换为字符串.

DateTime[] last7Days = Enumerable.Range(0, 7)
    .Select(i => DateTime.Now.Date.AddDays(-i))
    .ToArray();

foreach (var day in last7Days)
    Console.WriteLine($"{day:yyyy-MM-dd}"); // Any manipulations with days go here
Run Code Online (Sandbox Code Playgroud)


Pik*_*koh 5

没有 LINQ,有一个简单的循环:

DateTime dt = DateTime.Now;

for (int i=0;i<7;i++)
{
      dt = dt.AddDays(-1);
      Console.WriteLine(dt.Date.ToShortDateString());
}
Run Code Online (Sandbox Code Playgroud)