以文本方式查看主题

-  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=53600)

--  作者:爱相随
--  发布时间:2014/7/11 12:47:00
--  求两个日期之间相差天数的表达式
老师,我要求两个日期之间相差的天数的表达式怎么弄,帮助里计算年月日的表达式只是对一个日期分别列出它的年月日,和我要的内容不一样。比如我要计算2014年3月20日与2013年12月31日之间相差的天数。
[此贴子已经被作者于2014-7-11 12:47:18编辑过]

--  作者:y2287958
--  发布时间:2014/7/11 12:52:00
--  
http://www.foxtable.com/help/topics/2506.htm
--  作者:爱相随
--  发布时间:2014/7/11 13:56:00
--  
日期时间格式为Date的日期列能套入下面代码吗:
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

试了一下不行,我就是要求两个日期之间相差的天数。请老师指点一下,是不是要修改这里?Dim tp As TimeSpan

--  作者:爱相随
--  发布时间:2014/7/11 14:00: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

--  作者:don
--  发布时间:2014/7/11 14:01:00
--  
http://www.foxtable.com/help/topics/2648.htm
--  作者:zyqzyy
--  发布时间:2014/7/11 14:03:00
--  
 dr("本次用时") = tp.TotalDays
--  作者:有点甜
--  发布时间:2014/7/11 14:04:00
--  

 回复4楼,你试试 重置列。

 

 你需要修改了 "起息时间" 或 "贷款结息日" 才会计算的


--  作者:zyqzyy
--  发布时间:2014/7/11 14:09:00
--  

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

--  作者:zyqzyy
--  发布时间:2014/7/11 14:13:00
--  
在表属性 事件 数据 DataColChanged   写入上面的代码,本次用时 列 为文本型 或 数值型
[此贴子已经被作者于2014-7-11 14:13:21编辑过]

--  作者:爱相随
--  发布时间:2014/7/11 14:16:00
--  
还是不得行,都不是我要想的,我要把相差的年月日直接转成天数,比如相差3年1个月25天,那具体就是1135天,就只需要1135这个结果,其他年,月都不要