如何使用Linq对DateTime DataTable字段求和

时间:2014-05-23 17:53:25

标签: linq datetime datatable sum

我有一个DataTable,其中包含“MYDate”列,其中包含以下值:

○时10分44秒
0点12分05秒
1时12分07秒
0时22分29秒
2点06分47秒

我需要将所有这些值作为日期时间来获得这个:04:04:12
我怎么能用Linq做到这一点?

1 个答案:

答案 0 :(得分:0)

确保您的列类型为TimeSpan,然后就像

一样简单
TimeSpan total = TimeSpan.FromTicks(dt
                               .AsEnumerable()
                               .Sum(r => r.Field<TimeSpan>("MYDate").Ticks));

如果字符串值为TimeSpan,则必须使用TimeSpan.ParseTimeSpan.ParseExact对其进行解析,具体取决于您的要求和数据。像

TimeSpan total = TimeSpan.FromTicks(dt
                      .AsEnumerable()
                      .Sum(r => TimeSpan.Parse(r.Field<string>("MYDate")).Ticks));