Foxtable(狐表)用户栏目专家坐堂 → 年龄计算


  共有3124人关注过本帖树形打印复制链接

主题:年龄计算

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:827 积分:5748 威望:0 精华:0 注册:2017/12/19 14:46:00
年龄计算  发帖心情 Post By:2018/12/12 9:37:00 [只看该作者]

Select Case e.DataCol.name
    Case "出生日期"
        If e.DataRow.IsNull("出生日期") Then
            e.DataRow("年龄") = Nothing
        Else
            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("出生日期"))
            e.DataRow("年龄") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select

 

这段代码算出来的年龄四舍五入的,我现在只要十足年龄,也就是只要四舍,不五入,怎么改?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/12 9:46:00 [只看该作者]

年龄这样计算吧,看懂代码

 

Select Case e.DataCol.Name
    Case "身份证号"
        If e.DataRow.IsNull("身份证号") Then  '身份证号码是否为空
            e.DataRow("出生日期") = Nothing  '如果为空,则清除出生日期
            e.DataRow("性别") = Nothing  '如果为空,则清除出生日期
            e.DataRow("年龄") = Nothing '如果为空,则清除年龄
        Else
            '否则从身份证号码列中提取出生日期
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
            e.DataRow("性别") = ReadSex(e.DataRow("身份证号"))
            Dim d As Date = ReadBirthday(e.DataRow("身份证号"))
            Dim y As Integer = d.year
            If format(d, "MMdd") <= Format(Date.Today, "MMdd") Then
                e.DataRow("年龄") = Date.Today.Year - y
            Else
                e.DataRow("年龄") = Date.Today.Year - y -1
            End If
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2021/10/11 23:32:00 [只看该作者]

请问老师,有什么办法进行后台计算年龄吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/12 8:20:00 [只看该作者]

如果是指sql,不建议使用,一来性能不好,二来不准确。建议还是加载数据到程序里计算

 回到顶部