如何使用Linq组按日期列出订单

时间:2010-04-09 10:46:26

标签: c# linq

我有一个订单列表,并希望按创建日期对它们进行分组。

每个订单的创建日期时间将类似于“2010-03-13 11:17:16.000”

如何才能将它们按日期组成“2010-03-13”?

 var items = orderList.GroupBy(t => t.DateCreated)
 .Select(g => new Order()
 {
     DateCreated = g.Key

 })
 .OrderByDescending(x => x.OrderID).ToList();

更新:如何按月分组?以下代码不正确。

var items = orderList.GroupBy(t => t.DateCreated.Month)
 .Select(g => new Order()
 {
     DateCreated = g.Key

 })
 .OrderByDescending(x => x.OrderID).ToList();

非常感谢。

3 个答案:

答案 0 :(得分:2)

使用Date属性。

var items = orderList.GroupBy( t => t.DateCreated.Date )

答案 1 :(得分:2)

使用.Date将丢弃时间组件,例如

var items = orderList.GroupBy(t => t.DateCreated.Date)

答案 2 :(得分:0)

使用t => t.DateCreate.Date