最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 根據(jù)身份證號碼判斷出生日期、性別、年齡的示例

 更新時間:2020年10月22日 08:57:05   作者:Marydon  
這篇文章主要介紹了java 根據(jù)身份證號碼判斷出生日期、性別、年齡的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下

1.情景展示

  如何根據(jù)身份證號,計算出出生日期、性別、年齡?

2.解決方案

  從網(wǎng)上找的別人的,因為并沒有實際用到,所以并未對其優(yōu)化!

/**
 * 通過身份證號碼獲取出生日期、性別、年齡
 * @param certificateNo
 * @return 返回的出生日期格式:1990-01-01 性別格式:F-女,M-男
 */
public static Map<String, String> getBirAgeSex(String certificateNo) {
    String birthday = "";
    String age = "";
    String sexCode = "";
 
    int year = Calendar.getInstance().get(Calendar.YEAR);
    char[] number = certificateNo.toCharArray();
    boolean flag = true;
    if (number.length == 15) {
        for (int x = 0; x < number.length; x++) {
            if (!flag)
                return new HashMap<String, String>();
            flag = Character.isDigit(number[x]);
        }
    } else if (number.length == 18) {
        for (int x = 0; x < number.length - 1; x++) {
            if (!flag)
                return new HashMap<String, String>();
            flag = Character.isDigit(number[x]);
        }
    }
    if (flag && certificateNo.length() == 15) {
        birthday = "19" + certificateNo.substring(6, 8) + "-" + certificateNo.substring(8, 10) + "-"
                + certificateNo.substring(10, 12);
        sexCode = Integer.parseInt(certificateNo.substring(certificateNo.length() - 3, certificateNo.length()))
                % 2 == 0 ? "F" : "M";
        age = (year - Integer.parseInt("19" + certificateNo.substring(6, 8))) + "";
    } else if (flag && certificateNo.length() == 18) {
        birthday = certificateNo.substring(6, 10) + "-" + certificateNo.substring(10, 12) + "-"
                + certificateNo.substring(12, 14);
        sexCode = Integer.parseInt(certificateNo.substring(certificateNo.length() - 4, certificateNo.length() - 1))
                % 2 == 0 ? "F" : "M";
        age = (year - Integer.parseInt(certificateNo.substring(6, 10))) + "";
    }
    Map<String, String> map = new HashMap<String, String>();
    map.put("birthday", birthday);
    map.put("age", age);
    map.put("sexCode", sexCode);
    return map;
}

  根據(jù)身份證號提取出生日期

// 出生日期
String birthday = "";
// 身份證號不為空
if (sfzh.length() == 15) {
    birthday = "19" + sfzh.substring(6, 8) + "-" + sfzh.substring(8, 10) + "-" + sfzh.substring(10, 12);
} else if (sfzh.length() == 18) {
    birthday = sfzh.substring(6, 10) + "-" + sfzh.substring(10, 12) + "-" + sfzh.substring(12, 14);
}

寫在最后

  哪位大佬如若發(fā)現(xiàn)文章存在紕漏之處或需要補充更多內(nèi)容,歡迎留言?。。?/p>

以上就是java 根據(jù)身份證號碼判斷出生日期、性別、年齡的示例的詳細(xì)內(nèi)容,更多關(guān)于Java 身份證號碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java中的CountDownLatch閉鎖詳解

    Java中的CountDownLatch閉鎖詳解

    這篇文章主要介紹了Java中的CountDownLatch閉鎖詳解,CountDownLatch用給定的計數(shù)初始化,await屬于阻塞方法,直到當(dāng)前計數(shù)達到零,由于countDown方法被調(diào)用,然后釋放所有await等待的線程,并立即返回線程后續(xù)的await調(diào)用邏輯,需要的朋友可以參考下
    2023-12-12
  • java出現(xiàn)no XXX in java.library.path的解決及eclipse配置方式

    java出現(xiàn)no XXX in java.library.path的解決及eclipse配

    這篇文章主要介紹了java出現(xiàn)no XXX in java.library.path的解決及eclipse配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java實現(xiàn)高并發(fā)秒殺的幾種方式

    Java實現(xiàn)高并發(fā)秒殺的幾種方式

    高并發(fā)場景在現(xiàn)場的日常工作中很常見,本文主要介紹了Java實現(xiàn)高并發(fā)秒殺的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java中的Cursor使用詳解

    Java中的Cursor使用詳解

    本文介紹了Java中的Cursor接口及其在大數(shù)據(jù)集處理中的優(yōu)勢,包括逐行讀取、分頁處理、流控制、動態(tài)改變查詢、并發(fā)控制和減少網(wǎng)絡(luò)流量等,感興趣的朋友一起看看吧
    2025-02-02
  • ElasticSearch之索引模板滾動索引實現(xiàn)詳解

    ElasticSearch之索引模板滾動索引實現(xiàn)詳解

    這篇文章主要為大家介紹了ElasticSearch之索引模板滾動索引實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • SpringBoot實現(xiàn)自動配置的方式詳解

    SpringBoot實現(xiàn)自動配置的方式詳解

    Spring Boot 自動配置 是其核心特性之一,它通過智能化的默認(rèn)配置減少了開發(fā)者的工作量,自動配置的原理基于條件化配置和 Spring 的 @Configuration 機制,本文給大家講解了SpringBoot實現(xiàn)自動配置的過程,需要的朋友可以參考下
    2025-04-04
  • Java中Date日期時間類具體使用

    Java中Date日期時間類具體使用

    本文主要介紹了Java中Date日期時間類具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • SpringCloud服務(wù)的發(fā)現(xiàn)與調(diào)用詳解

    SpringCloud服務(wù)的發(fā)現(xiàn)與調(diào)用詳解

    在Java微服務(wù)越來越火的今天。幾乎什么公司都在搞微服務(wù)。而使用的比較多的就是Spring?Cloud技術(shù)棧。今天就來研究一下Spring?Cloud中服務(wù)發(fā)現(xiàn)與調(diào)用的基本原理
    2022-07-07
  • Java 無符號右移與右移運算符的使用介紹

    Java 無符號右移與右移運算符的使用介紹

    這篇文章主要介紹了Java 無符號右移與右移運算符的使用介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java8 BigDecimal類型的List求和方式

    java8 BigDecimal類型的List求和方式

    這篇文章主要介紹了java8 BigDecimal類型的List求和方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-11-11

最新評論

博兴县| 漳浦县| 青州市| 乌拉特前旗| 镇康县| 汪清县| 连云港市| 万盛区| 涟水县| 通化县| 云林县| 浮梁县| 天祝| 津南区| 嘉祥县| 郯城县| 霸州市| 江安县| 游戏| 淄博市| 石柱| 烟台市| 潍坊市| 玉环县| 开鲁县| 新巴尔虎右旗| 交口县| 宝清县| 菏泽市| 冕宁县| 德江县| 会泽县| 丰台区| 军事| 鸡西市| 都匀市| 留坝县| 沙雅县| 沿河| 洞头县| 栾城县|