使用DataGridView中的DateTime列计算总小时数

时间:2009-04-17 08:35:18

标签: c# datetime datagridview

我在数据网格视图中的每一行都需要进行一些计算。我想要的是遍历datagridview中的所有行,该行具有两个具有日期时间的列。一个表示LogInTime,一个表示LogOutTime。我想获得datagridview中显示的行的所有登录时间和注销时间之间的总小时数和分钟数。关于如何实现这个的任何建议?

2 个答案:

答案 0 :(得分:1)

你的DataGridView绑定了什么?使用Linq表达式或DataTable.Compute()调用后面的代码更容易进行这样的计算。

Linq表达式的一个例子:

var minutes = listOfLogins.Sum(l => l.LogOutTime.Subtract(l.LoginTime).TotalMinutes);
Console.WriteLine("{0}h, {1}m", (int)(minutes / 60), minutes % 60);

答案 1 :(得分:1)

您可以从另一个日期中减去一个日期以获得TimeSpan单元,该单元将为您提供所需的数据。

您需要在源数据中计算,或者在行数据绑定事件中计算数据并进行计算。