谁会  麻烦说一下 在这谢了

解决方案 »

  1.   

    我不知道中国各省的身份证号是不是统一的,如果是的话就用字符串截取功能就可以了。
    例如身份证号是221105 19880201 5566 中间的就是生日。使用String类的substring(int beginIndex, int endIndex) 方法。
      

  2.   

    这里有,C#写的,但原理一样
    http://blog.csdn.net/huijianight/archive/2010/03/17/5387632.aspx
      

  3.   


    // 新身份证
    String idCardNew = "32050319761212251"; 
    // 旧身份证
    String idCardOld = "320503761212251";
    // 生日
    String birthday1 =  idCardNew.substring(6,14);
    String birthday2 =  idCardOld.substring(6,12);
      

  4.   

    String year =  id.substring(6,4);
    String month = id.substring(10,2);
    String day = id.substring(12,2);
      

  5.   

    // 新身份证
    String idCardNew = "32050319761212251"; 
    // 旧身份证
    String idCardOld = "320503761212251";
    // 生日
    String birthday1 = idCardNew.substring(6,14);
    String birthday2 = idCardOld.sub……
      

  6.   

    谢了 用substring 截取字符串然后输出得到的就是生日
      

  7.   

    substring 截取字符串即可!
      

  8.   

    使用String类的substring(int beginIndex, int endIndex) 方法。
      

  9.   

            String b="411221800523181";//15位
    System.out.println(b.substring(6,12));
    String c="411221198005231815";//18位
    System.out.println(c.substring(6,14));
      

  10.   

     public String getBir(String Bir){
            if (Bir.length()==18){
                  return Bir.substring(6,14);
             }
            if (Bir.length()==15){
                  return Bir.substring(6,12);
             }
            return null;
        }用的时候直接调下就可以了
      

  11.   

    String 类里有个substring方法,你看下api文档怎么用
      

  12.   


    idCardNew.length()==?;
    判断一下位数
    然后截取字符串
      

  13.   

    给你写全面点 直接就可以用的 
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;import com.sun.java_cup.internal.internal_error;
    import com.sun.org.apache.bcel.internal.generic.F2D;@SuppressWarnings("serial")
    public class Birthday extends JFrame{
    private JTextField jTextField1,jTextField;
    private JButton jButton;
    private JPanel jPanel;
    public Birthday(){
    super("输入一个身份证号获取它的生日");
    jPanel = new JPanel();
    jPanel.setLayout(null);
    jTextField1 = new JTextField(20);
    jTextField = new JTextField(20);
    jTextField1.setBounds(0,0,200,35);
    jTextField.setBounds(0,40,200,35);
    jButton = new JButton("获取生日");
    jButton.setBounds(210,0,100,35);
    jPanel.add(jButton);
    jPanel.add(jTextField1);
    jPanel.add(jTextField);
    add(jPanel);
    jButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {
    // regex用来匹配15位的身份证号regex1用来匹配18位的str用来存放输入的身份证 str1用来存放15位号的生日str2用来存放18位的
    String str1,str2;
    String regex = "\\d{12}\\w{3}";
    String regex1 = "\\d{14}\\w{4}";
    String str = jTextField1.getText();
    boolean f = str.matches(regex);
    boolean f1 = str.matches(regex1);
    if(f){
     str1 = str.substring(8,12);
     jTextField.setText(str1);
    }else if(f1){
     str2 = str.substring(10,14);
     jTextField.setText(str2);
    }
    }
    });
    perame();
    }
    public void perame(){
    setBounds(0,0,400,400);
    setResizable(true);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setVisible(true);
    }
    public static void main(String [] args){
    new Birthday();
    }
    }
    自己写的嘿嘿 我也是刚学!
      

  14.   

    首先判断身份证类型:旧15,新18。不知道有没记错,然后根据规律截取,使用String类的实例方法:subString(fromIndex,toIndex),此方法不包括toIndex位!
      

  15.   


    String birthStr = icCardNo.substring(6, 14);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
    Date birth = sdf.parse(birthStr);