`
wuhaidong
  • 浏览: 357737 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

根据身份证号生成出生日期

    博客分类:
  • SE
 
阅读更多

/**
 * @创建时间:2007-5-10 下午04:26:26
 * @修改者:lics
 * @修改时间:2007-5-10 下午04:26:26
 * @说明:根据身份证号生成出生日期
 */
package nc.ui.ps.pub;

import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDate;
import nc.vo.uap.busibean.exception.BusiBeanException;

/**
 * @创建时间:2007-5-10 下午04:26:26
 * @修改者:lics
 * @修改时间:2007-5-10 下午04:26:26
 * @说明:根据身份证号生成出生日期
 */
public class GainBirthday {

        /**
         * @创建时间:2007-5-10 下午04:26:27
         * @修改者:lics
         * @修改时间:2007-5-10 下午04:26:27
         * 方法说明:构造方法
         * 
         */
        public GainBirthday() {
                // lcs 自动生成构造函数存根
        }
        
        /**
         * 
         * @方法说明:根据身份证号生成出生日期
         * @创建时间:2007-5-10 下午05:05:20
         * @修改者:lics
         * @修改时间:2007-5-10 下午05:05:20
         * @param cardID 15位或18位的身份证号
         * @return 出生日期
         * @throws BusinessException 
         *
         */
        public static UFDate getBirthday(String cardID) throws BusinessException{
                UFDate returnDate=null;
                StringBuffer tempStr=null;
                if(cardID!=null&&cardID.trim().length()>0){
                        if(cardID.trim().length()==15){
                                tempStr=new StringBuffer(cardID.substring(6, 12));
                                tempStr.insert(4, '-');
                                tempStr.insert(2, '-');
                                tempStr.insert(0, "19");
                        }else if(cardID.trim().length()==18){
                                tempStr=new StringBuffer(cardID.substring(6, 14));
                                tempStr.insert(6, '-');
                                tempStr.insert(4, '-');
                        }                        
                }
                if(tempStr!=null&&tempStr.toString().trim().length()>0){
                        try{
                                returnDate=new UFDate(tempStr.toString());
                        }catch(Exception e){
                                throw new BusinessException("输入的身份证错误,不能转换为相应的出生日期");
                        }
                }
                return returnDate;
        }
}
 
分享到:
评论

相关推荐

    JAVA版身份证获取性别、出生日期及年龄

    前6位代表地区代码,第7位到第14位是出生日期(格式为YYYYMMDD),第15位至第17位为顺序号,奇数分配给男性,偶数分配给女性。最后一位是校验码,可以是0-9中的数字或字符X。 要获取性别,我们可以编写一个方法,...

    js实现根据身份证号自动生成出生日期

    主要介绍了js实现根据身份证号自动生成出生日期,需要的朋友可以参考下

    Excel表格中根据身份证号码自动填出生日期(精).pdf

    在Excel表格中,身份证号码包含了个人的出生日期信息。中国的身份证号码由18位数字组成,其中第7位到第14位代表的是出生日期,格式为YYYYMMDD。通过利用Excel的公式和函数功能,我们可以轻松地从身份证号码中提取...

    中国身份证号段(全国)

    在中国,身份证号码是每个公民身份的主要证明,它包含着个人的出生地、出生日期等重要信息。本资源“中国身份证号段(全国)”提供了一种高效的方式来查询和理解全国各地身份证号码的分配规则,这对于开发涉及用户注册...

    sqlserver sql 根据出生日期生成年龄

    sqlserver sql 根据出生日期生成年龄 去

    身份证号码检查(check_sfz)

    在中国,身份证号码是18位数字,包含了个人出生日期、性别、出生地等信息,并通过特定算法进行校验,确保号码的唯一性和准确性。这个Excel加载项是为了方便用户在处理大量数据时,快速验证身份证号码的合法性。 ...

    java实现的18位身份证格式验证算法

    前6位代表地区代码,接着8位是出生日期,然后3位为顺序号(奇数分配给男性,偶数分配给女性),最后1位是校验码。 2. **地区编码验证** - 地区代码是根据中国行政区域划分设定的,对应每个省份、城市和区县。在...

    最新身份证号归属地查询,json 和 sql 格式.rar

    身份证号码是中国公民的唯一标识,包含了出生日期和地域信息。中国的身份证号码由18位数字组成,前6位代表地区代码,接下来的8位是出生日期,最后4位是顺序码和校验码。 描述中的“json 和 sql 格式”指的是数据...

    delphi 通过日期计算年龄

    在实际应用中,你可能需要处理各种边界情况,例如用户输入的出生日期可能是非法的,或者出生日期在未来的错误情况。在这种情况下,应添加适当的错误检查和异常处理。 标签“计算年龄”提示我们,这个主题主要关注...

    易语言源码身份证号码归属地查询系统易语言源码.7z

    身份证号码是中国公民身份的主要证明,包含了出生日期、性别、地区等个人信息。查询系统的工作原理通常包括以下步骤: 1. 数据库构建:系统背后需要有一个包含全国所有地区与对应身份证前六位代码的数据库。这些...

    身份证号码格式验证CheckID_v0.60

    CheckID是用来验证身份证号码是否符合格式的小程序,有试用版和专业版。 试用版可用来验证身份证格式是否正确,但每次使用时会提示注册;...两个版本都可以显示正确的身份证号码的所在地,出生日期和性别等信息。

    身份证验证

    排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其含义如下: 1. 地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。GB/T2260就是...

    身份证验证jar

    18位身份证号码包含了出生日期、性别、地区代码以及校验码等信息。而“X”在身份证号码中表示最后一位校验码,它代表罗马数字的10,用于满足校验规则。 这个自封装的`IdcardValidator.jar`是一个Java类库,内部包含...

    最新数据验证工具类java,身份证、手机号、qq...

    18位身份证号码由三部分组成:前6位代表地区代码,接下来的8位代表出生日期,最后4位是顺序码和校验码。在Java中,可以编写一个工具类来实现身份证号码的有效性检查,例如通过正则表达式验证长度和结构,以及计算...

    易语言身份证格式验证模块例程

    中国的居民身份证号码由18位数字组成,分为5个部分:地址码(前6位)、出生日期码(第7位到第14位)、顺序码(第15位到第17位,奇数分配给男性,偶数分配给女性)、校验码(最后1位)。校验码的计算涉及到前17位数字...

    JS验证身份证号与验证材料

    身份证号码在中国是18位数字,包含了出生日期、性别、地区编码等信息,具有一定的规则性。在进行验证时,通常会涉及以下知识点: 1. **身份证号码的结构**: - 前6位是地区码,代表了用户户籍所在地的行政区划代码...

    JS实现的验证身份证及获取地区功能示例

    中国的身份证号码由18位数字组成,前6位代表地区编码,接下来的8位是出生日期码,再接着的3位是顺序码(奇数分配给男性,偶数分配给女性),最后一位是校验码。校验码是按照国家标准算法得出的,用于检验身份证号码...

    18位身份证验证java程序实例

    2. **第七到第十四位**:出生日期,格式为YYYYMMDD。 3. **第十五到十七位**:顺序码,奇数分配给男性,偶数分配给女性。 4. **第十八位**:校验码,用于验证前面17位数字的有效性。 #### 校验码计算规则 校验码是...

Global site tag (gtag.js) - Google Analytics