C# 使用Linq按日期获取数据
我有一个以下的列表C# 使用Linq按日期获取数据,c#,linq,datetime,C#,Linq,Datetime,我有一个以下的列表 public class Item { public string Link { get; set; } public string Title { get; set; } public string Content { get; set; } public DateTime PublishDate { get; set; } public FeedType FeedType { get; set; } public Item
public class Item
{
public string Link { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime PublishDate { get; set; }
public FeedType FeedType { get; set; }
public Item()
{
Link = "";
Title = "";
Content = "";
PublishDate = DateTime.Today;
FeedType = FeedType.RSS;
}
}
这只是一个经过解析的RSS提要,我现在希望能够查询列表但是我有点迷路了。。。谁能解释一下吗?如果我理解正确,这里的目标是在比较时去掉时间 扩展方法语法
var today = DateTime.Today;
items.Where( item => item.PublishDate.Date == today );
查询语法
var today = DateTime.Today;
from item in items
where item.PublishDate.Date == Today
select item
List itemList=。。。;
ListItem筛选项目
=itemList.Where(it=>it.PublishDate>=DateTime.Today).ToList()
在午夜前后查询时,可能会得到不一致的结果。很好。今天应该抽到一个地方。另外,我以前也没有见过Today属性。编辑以包括@albin feedback和他的方式cooler user of Today而不是DateTime.Now.DateIt值得注意的是,编辑用于提取DateTime.Today以及使用Today而不是DateTime.Now来自此答案。不是在我原来的帖子里。谢谢@Albin我今天学到了一些新东西!
DateTime today = DateTime.Today;
var todayItems = list.Where(item => item.PublishDate.Date == today);
List<Item> itemList = ...;
ListItem<Item> filtered items
= itemList.Where(it => it.PublishDate >= DateTime.Today).ToList()