我使用LINQ创建了数据表。我有int字段,represnts数字。我想让它们显示为时间(hh:mm:ss)。我怎样才能做到这一点 ?
这是我的代码:
var groupedData = from b in final.AsEnumerable()
orderby b.Field<string>("Agent")
group b by b.Field<string>("Agent") into g
select new
{
KeyName = g.Key,
Team = g.First().Field<string>("Team"),
Agent = g.First().Field<string>("Agent"),
TalkTime = g.Sum(b => b.Field < int ?> ("talkTime"))
};
代码中的行是:
TalkTime = g.Sum(b => b.Field < int ?>
答案 0 :(得分:1)
您想从TimeSpan
- int获取talkTime
,然后使用其中一个TimeSpan.From...
methods。因此,如果这些是例如秒:
TalkTime = TimeSpan.FromSeconds((int)g.Sum(b => b.Field<int?>("talkTime")))
分钟:
TalkTime = TimeSpan.FromMinutes((int)g.Sum(b => b.Field<int?>("talkTime")))
如果您想输出字符串,可以使用TimeSpan.ToString("hh':'mm':'ss")
:
TalkTime = TimeSpan.FromMinutes((int)g.Sum(b => b.Field<int?>("talkTime"))).ToString("hh':'mm':'ss")