使用linq求和时间间隔
本文关键字:时间 求和 linq 使用 | 更新日期: 2023-09-27 18:27:13
我有问题;事实上,我的数据库表中有HH.mm格式的workingHours,我想使用LINQ求所有工作时间的总和。请告诉我如何做到这一点。
在totalWeekHours中,我有所有的工作时间,我已经用HH:mm替换了HH.mm格式,但我不知道如何使用Linq在timespan
和Sum()
中解析它。
请帮忙。
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('.', ':'));
}
}
您可以使用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。