参考帮助里的“时段列与计算”一节,设置了计算两列间的时间段代码(如下示)。但有个问题,如果跨越24时的时间段会产生负数的结果,比如起始时间为23:30,结束时间为第二天凌晨0:30,结果应为1小时,但实际出来的结果为 -23小时。应如何解决?
还有一个问题,如果结果为整小时的,它就不显示分位,比如6小时就显示 06 而不是06:00 。
Select
Case
e.DataCol.name
Case
"起始时间","结束时间"
Dim
dr
As
DataRow = e.DataRow
If
dr.IsNull("起始时间") Or
dr.IsNull("结束时间") Then
dr("本次用时") = Nothing
Else
Dim
tp
As
TimeSpan
tp = dr("结束时间") - dr("起始时间")
dr("本次用时") = tp.TotalSeconds() '真正的时段型数据要转换为秒数,才能存入时段列
End
If
End
Select