使用linq的时间间隔

时间:2013-08-12 07:32:15

标签: c#

我有问题;实际上我正在我的数据库表中以HH.mm格式工作,我想用LINQ总结所有工作时间,任何1请告诉我们如何做到这一点。

在totalWeekHours中我有所有的工作时间,我已经用HH替换HH.mm格式:mm但是我不知道如何使用Linq在timespan然后Sum()中解析它。 / p>

请帮忙。

var totalWeekHours = (from twh in db.MytimeMaster 
                      where ((twh.date >= lstsun && twh.date <= tilldate) 
                          && (twh.agentID == agentid)) 
                      select twh.totalworkinghours).ToList();

if (totalWeekHours.Count > 0) 
{
    List cnvrtToTimespanlist = new List(); 
    foreach(var list in totalWeekHours) 
    {
        cnvrtToTimespanlist.Add(list.ToString().Replace('.', ':')); 
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用Aggregate方法。

var sum = (from twh in db.MytimeMaster
 where ((twh.date >= lstsun && twh.date <= tilldate) && (twh.agentID == agentid))
 select twh.totalworkinghours).Aggregate(TimeSpan.FromMinutes(0), (total, next) => total + next);

P.S。假设使用TimeSpan作为时间间隔。