过滤早于x天的日期列表(作为字符串)

时间:2017-12-29 06:13:39

标签: c# datetime

下面是获取日期并将其填入列表的代码,如何从今天的日期获得超过5天的日期列表。

List<DateTime> fileDate = new List<DateTime>();
for (int i = 0; i <= countofdifffile; i++)
{                        
    fileDate.Add(DateTime.ParseExact(fileListfordiff[i].Substring(22, 8), 
                                     "yyyyMMdd", CultureInfo.InvariantCulture));
}

2 个答案:

答案 0 :(得分:1)

你只需要做

List<DateTime> fileDate = new List<DateTime>();
for (int i = 0; i <= countofdifffile; i++)
{                        
    var dt = DateTime.ParseExact(fileListfordiff[i].Substring(22, 8), 
                                 "yyyyMMdd", CultureInfo.InvariantCulture)
    fileDate.Add(dt);
    fileDate.Add(dt.AddDays(-5)); // Adds 5 days less date.
}

答案 1 :(得分:0)

linq解决方案

超过5天

List<DateTime> fileDates = fileListfordiff 
        // parse your list into usable Dates
        .Select(x => DateTime.ParseExact(x.Substring(22, 8), "yyyyMMdd", CultureInfo.InvariantCulture))
        // filter the list by age older than 5 days ago
        .Where(x => x < DateTime.Now.AddDays(-5))
        // return a List<DateTime> i.e file dates
        .ToList();

小于5天前

List<DateTime> fileDates = fileListfordiff 
        // parse your list into usable Dates
        .Select(x => DateTime.ParseExact(x.Substring(22, 8), "yyyyMMdd", CultureInfo.InvariantCulture))
        // filter the list by age < 5 days ago
        .Where(x => x > DateTime.Now.AddDays(-5))
        // return a List<DateTime> i.e file dates
        .ToList();