以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何将12个月换算成1年?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172569)

--  作者:jt20002000
--  发布时间:2021/10/19 20:08:00
--  如何将12个月换算成1年?
Dim y,m,d,mo,ye As Integer
            Dim dt1 As Date = dr("起日")
            Dim dt2 As Date = dr("止日")
            DateYMD(dt1,dt2,y,m,d)
            If d<>0 Then
                mo=m+1
                If mo=12 Then
                    ye=y+1 AndAlso mo=m-12
                Else ye=y
                End If
            Else mo=m
End If
                dr("实际间隔") =  (ye & "年" & mo & "月")
运行代码后,如果月份是12个月,年份会加1,但是月份不会清零。
比如1年12个月会变成2年12个月,我要的效果是1年12个月=2年。求帮助,谢谢。

--  作者:有点蓝
--  发布时间:2021/10/19 20:16:00
--  
Dim y,m,d As Integer
Dim dt1 As Date = dr("起日")
Dim dt2 As Date = dr("止日")
DateYMD(dt1,dt2,y,m,d)

If d<>0 Then
    m=m+1
    If m=12 Then
        y=y+1
        m=0
    End If
End If
Output.Show(y & "年" & m & "月")