code: public static String convert15To18(String idCard) {
  		StringBuilder idCard18;
  		if (idCard.length() != CHINA_ID_MIN_LENGTH) {
  			return null;
  		}
  		if (Validator.isNumber(idCard)) {
  			// 获取出生年月日
  			String birthday = idCard.substring(6, 12);
  			Date birthDate = DateUtil.parse(birthday, "yyMMdd");
  			// 获取出生年(完全表现形式,如：2010)
  			int sYear = DateUtil.year(birthDate);
  			if (sYear > 2000) {
  				// 2000年之后不存在15位身份证号，此处用于修复此问题的判断
  				sYear -= 100;
  			}
  			idCard18 = StrUtil.builder().append(idCard.substring(0, 6)).append(sYear).append(idCard.substring(8));
  			// 获取校验位
  			char sVal = getCheckCode18(idCard18.toString());
  			idCard18.append(sVal);
  		} else {
  			return null;
  		}
  		return idCard18.toString();
  	}
docs: 将15位身份证号码转换为18位
  
  @param idCard 15位身份编码
  @return 18位身份编码