以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  通话时长不可为负怎么设置  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=102723)

--  作者:zoudezhao
--  发布时间:2017/6/24 17:12:00
--  通话时长不可为负怎么设置

Select Case e.DataCol.name
    Case "摘机时间","挂机时间"
        Dim dr3 As DataRow = e.DataRow
        If dr3.IsNull("摘机时间") Or dr3.IsNull("挂机时间") Then
            dr3("通话时长") = Nothing
        Else
            Dim tp As TimeSpan
            tp = dr3("挂机时间") - dr3("摘机时间")
            dr3("通话时长") = tp.TotalSeconds()-30
        End If
End Select

以上代码计算出的通话时长不超过30秒会出现负数应该怎么改才对。。


--  作者:狐狸爸爸
--  发布时间:2017/6/24 17:34:00
--  
按道理不会,除非你输错了数据,做个例子发上来看看
--  作者:zoudezhao
--  发布时间:2017/6/25 9:03:00
--  

狐爸是这样的因为从摘机时间起到挂机时间中间有一段时间是在振铃状态。我想去掉平均的振铃状态约30秒左右,所以在算通话时长时我设置会-30秒

            Dim tp As TimeSpan
            tp = dr3("挂机时间") - dr3("摘机时间")
            dr3("通话时长") = tp.TotalSeconds()-30


--  作者:有点色
--  发布时间:2017/6/25 10:01:00
--  

 那小于30秒的你希望如何处理?你的逻辑是怎样的?

 

 你可以判断值,对应的赋值为你需要的。


--  作者:zoudezhao
--  发布时间:2017/6/25 11:43:00
--  
OK明白啦感谢