| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3857 人关注过本帖
标题:如何根据身份证号计算年龄
只看楼主 加入收藏
foreversun
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-1-11
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:3 
如何根据身份证号计算年龄
已知身份证号:511123199711271018 以系统当前时间为准,计算年龄.
网上有这个:
Function CalcAge(datEmpDateOfBirth as Variant) as Integer
CalcAge = Int(DateDiff("y",datEmpDateOfBirth,Date())/365.25)
End Function
但不知如何用.
请指点下吧.
结果用print 在窗体上显示吧.
搜索更多相关主题的帖子: 身份证号 时间 
2011-04-18 16:33
wei855198
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:228
专家分:944
注 册:2009-4-24
收藏
得分:0 
把身份证从第7位到14位的数字提取出来,变换成格式“1997-11-27”这样的字符串,而后就可以调用你找到的这个函数了,把提取出的字符串做为参数传进去,返回的就是年龄了。

护肤小店 http://mina2010.
靓装小店 http://liangliyizu2010.
2011-04-18 21:05
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:20 
如果没看错的话,那个函数用错了应该是Int(DateDiff("d",datEmpDateOfBirth,Date())/365.25),把y改成d,再就是如果取整的话,还不如直接写成DateDiff("yyyy",datEmpDateOfBirth,Date),这时得出的就是年龄了,我觉得函数这样写:
'***************************************************************************************'
function CalcAge(身份证 as string) as integer
  dim a as string
  if len(身份证)<18 then exit function
  a=mid(身份证,7,4) & "-" & mid(身份证,11,2) & "-" & mid(身份证,13,2)
  CalcAge=datediff("yyyy",a,date)
end function
Private Sub Form_Load()
  Dim a As String
  a = "511123199711271018"
  MsgBox CalcAge(a)
End Sub
'***************************************************************************************
你把*号之间的部分直接复制,运行就可以看到结果了

[ 本帖最后由 lowxiong 于 2011-4-19 07:07 编辑 ]
2011-04-19 07:04
foreversun
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-1-11
收藏
得分:0 
谢谢三楼
2011-04-19 14:38
快速回复:如何根据身份证号计算年龄
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029120 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved