2010-11-04 53 views
4

我有一個列表<項>以下使用Linq按日期獲取數據

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提要,我現在希望能夠查詢List <項>只用今天的PublishDate提取項目?

但是我有點迷失了......有人能解開任何光嗎?

回答

9

如果我理解正確,這裏的目標是剝離比較時間。

Extention方法的語法

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 
+1

午夜查詢時,您可能會得到不一致的結果。 – 2010-11-04 20:27:44

+0

無論如何,因爲你比我快 – 2010-11-04 20:28:20

+0

好電話。今天應該提取到本地。此外,我還沒有看到過今日屬性。 – 2010-11-04 20:29:39

4
DateTime today = DateTime.Today; 
var todayItems = list.Where(item => item.PublishDate.Date == today); 
+1

值得注意的是,提取DateTime.Today和使用今日而不是DateTime.Now的編輯來自這個答案。不在我原來的帖子中。感謝@Albin今天我學到了一些新東西! – 2010-11-04 20:33:15

0
List<Item> itemList = ...; 
ListItem<Item> filtered items 
       = itemList.Where(it => it.PublishDate >= DateTime.Today).ToList()