以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  还是时间计算问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56864)

--  作者:爱相随
--  发布时间:2014/9/13 23:11:00
--  还是时间计算问题
老师,关于时间段的计算问题,我要两年日期之间相差的年月,比如相差2年3个月。我认为可以用至少两种方式获得,一种是通过表达式,一种是通过代码,但目前都有困难,比如:
帮助里示例的表达式得出的是年、月、日是分开的,分别放在不同的列,不符合要求。
而通过代码如下,而红色部分的代码只能表示天数,改为年和月都不行,请问老师,下面的代码修改能得到要求吗?
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.TotalDAYs () & "岁" \'真正的时段型数据要转换为秒数,才能存入时段列,如何能得出比如3年2个月
        End If
End Select

--  作者:有点甜
--  发布时间:2014/9/14 9:16:00
--  

 参考

 

http://www.foxtable.com/help/topics/2647.htm