以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  计算年龄  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142061)

--  作者:dcr111
--  发布时间:2019/10/17 14:57:00
--  计算年龄
请问老师,年龄计算截止到当年的8月31日,程序要怎么改
If e.DataCol.Name = "身份证号码" Then
    Dim dr As DataRow = e.DataRow
    If dr.IsNull("身份证号码") Then
        dr("性别") = Nothing
        dr("出生年月") = Nothing
        dr("年龄") = Nothing
    Else
        dr("性别") = ReadSex(dr("身份证号码")) 
        dr("出生年月") = ReadBirthday(dr("身份证号码"))
        Dim t As TimeSpan =  Today - CDate(dr("出生年月"))
        dr("年龄") = Math.Round(t.TotalDays / 365.2422,2)
    End If
End If

--  作者:有点蓝
--  发布时间:2019/10/17 15:02:00
--  
Dim t As TimeSpan =  CDate(date.today.year,8,31) - CDate(dr("出生年月"))
--  作者:dcr111
--  发布时间:2019/10/17 15:44:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20191017154232.png
图片点击可在新窗口打开查看

--  作者:dcr111
--  发布时间:2019/10/17 15:45:00
--  
老师,怎么不对?
--  作者:有点蓝
--  发布时间:2019/10/17 15:49:00
--  
Dim t As TimeSpan =  new Date(date.today.year,8,31) - CDate(dr("出生年月"))