小编Eth*_*ong的帖子

如何从List <DateTime>获取最接近的DateTime

假设我有最新的DateTime和所有可能日期的列表.我如何才能有效地找到列表中去年的最近日期时间?

说我的清单包括以下内容:

2014-03-07
2014-03-14
2014-03-21
2014-03-28
...
2015-03-06
2015-03-13
2015-03-20
Run Code Online (Sandbox Code Playgroud)

我最近的约会时间是2015-03-20,但我想找回去年的日期,2014-03-21.

这就是我目前所拥有的,但如果去年的日期是休息一天(例如,我的时间段每周存储一次),它将无效.

public DateTime LastYearDate()
{
    List<DateTime> times = GetAllDates();
    times.Sort();
    times.Reverse();
    DateTime currentDate = times.First();
    return times.Where(dt => dt == currentDate.AddYears(-1)).First();
}
Run Code Online (Sandbox Code Playgroud)

我不确定我会用什么来递归计算最接近的日期,所以如果你对我应该采取的方向有任何想法(参考任何Linq函数来检查),那将不胜感激.

c# linq datetime list

1
推荐指数
2
解决办法
1795
查看次数

标签 统计

c# ×1

datetime ×1

linq ×1

list ×1