以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请教一个关于时间段列相减的问题(已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129097)

--  作者:lunengcheng
--  发布时间:2018/12/21 13:04: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("开始时间")
            Dim v As Double = tp.TotalSeconds() / 3600
            dr("通话时长") = format(v, "0.00.00")
        End If
End Select


图片点击可在新窗口打开查看此主题相关图片如下:时间列计算的问题.png
图片点击可在新窗口打开查看

有没有什么办法,可以让计算得到的结果也像前面的开始时间和结束时间列一样,也是现实00:00:00这样的格式呢,多谢了!

[此贴子已经被作者于2018/12/21 14:34:33编辑过]

--  作者:有点甜
--  发布时间:2018/12/21 14:21: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("开始时间")
            Dim v As Double = tp.TotalSeconds()
            dr("通话时长") = format(tp.TotalSeconds() \\ 3600, "00") & ":" & format((tp.TotalSeconds() mod 3600) \\ 60, "00") & ":" & format(tp.TotalSeconds() mod 60, "00")
        End If
End Select

--  作者:lunengcheng
--  发布时间:2018/12/21 14:34:00
--  
这代码够给力,多谢老师!