Foxtable(狐表)用户栏目专家坐堂 → [求助]身份证提取年龄


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

主题:[求助]身份证提取年龄

帅哥哟,离线,有人找我吗?
jick0526
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
[求助]身份证提取年龄  发帖心情 Post By:2017/3/30 20:16:00 [只看该作者]

If e.DataRow.isnull("身份证号") = Nothing Then
    Dim d As Date = ReadBirthDay(e.DataRow("身份证号"))
    e.DataRow("年龄") = Date.Today.year - d.year
Else
    e.DataRow("年龄") = Nothing
End If

老师,请问下,如果身份证假如是5610276732这组号码,前六个数字代表年月日,就是1956年,10月27日,19没写出来,这种情况下该
怎么提取年龄。上面的代码只能正规的身份证号才能正确提取年龄。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/30 20:35:00 [只看该作者]

Dim str As String = "5610276732"
If str.length >= 6 Then
    Dim d As Date = new Date(1900+str.SubString(0,2), str.SubString(2,2), str.SubString(4,2))
    msgbox(d)
End If

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/3/30 21:16:00 [只看该作者]

老师,上面的代码该怎么用,我是想A列输入类似5610276732的10位数,B列会自动输入年龄

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/30 22:10:00 [只看该作者]

Dim str As String = e.DataRow("身份证号")
If str.length >= 6 Then
    Dim d As Date = new Date(1900+str.SubString(0,2), str.SubString(2,2), str.SubString(4,2))
    e.DataRow("年龄") = Date.Today.year - d.year
Else
    e.DataRow("年龄") = Nothing
End If

 回到顶部