Java --- 根據身份證號計算年齡

介紹

根據身份證號計算年齡

Java代碼

/*** 根據身份證號計算年齡* @param birthDateStr* @return*/public static int calculateAge(String birthDateStr) {try {birthDateStr=birthDateStr.substring(6,6+8);// 定義日期格式SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");// 將字符串類型的出生日期轉換為 Date 對象Date birthDate = sdf.parse(birthDateStr);// 獲取當前的日期和時間Calendar now = Calendar.getInstance();// 獲取當前年份int currentYear = now.get(Calendar.YEAR);// 獲取當前月份int currentMonth = now.get(Calendar.MONTH) + 1;// 獲取當前日期int currentDay = now.get(Calendar.DAY_OF_MONTH);// 創建一個 Calendar 對象來表示出生日期Calendar birthCalendar = Calendar.getInstance();birthCalendar.setTime(birthDate);// 獲取出生年份int birthYear = birthCalendar.get(Calendar.YEAR);// 獲取出生月份int birthMonth = birthCalendar.get(Calendar.MONTH) + 1;// 獲取出生日期int birthDay = birthCalendar.get(Calendar.DAY_OF_MONTH);// 先計算年份差作為初始年齡int age = currentYear - birthYear;// 如果當前月份小于出生月份,說明還未到生日,年齡減 1if (currentMonth < birthMonth) {age--;} else if (currentMonth == birthMonth) {// 如果當前月份等于出生月份,再比較日期if (currentDay < birthDay) {// 如果當前日期小于出生日期,說明還未到生日,年齡減 1age--;}}return age;} catch (ParseException e) {// 處理日期解析異常,打印異常信息并返回 -1 表示錯誤e.printStackTrace();return -1;}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/73264.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/73264.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/73264.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

零成本搭建Calibre個人數字圖書館支持EPUB MOBI格式遠程直讀

文章目錄 前言1.網絡書庫軟件下載安裝2.網絡書庫服務器設置3.內網穿透工具設置4.公網使用kindle訪問內網私人書庫 前言 嘿&#xff0c;各位書蟲們&#xff01;今天要給大家安利一個超級炫酷的技能——如何在本地Windows電腦上搭建自己的私人云端書庫。亞馬遜服務停了&#xff…

【Linux 指北】常用 Linux 指令匯總

第一章、常用基本指令 # 注意&#xff1a; # #表示管理員 # $表示普通用戶 [rootlocalhost Practice]# 說明此處表示管理員01. ls 指令 語法&#xff1a; ls [選項][目錄或文件] 功能&#xff1a;對于目錄&#xff0c;該命令列出該目錄下的所有子目錄與文件。對于文件&#xf…

跟蹤napi_gro_receive_entry時IP頭信息缺失的分析

問題描述 在使用eBPF程序跟蹤napi_gro_receive_entry內核跟蹤點時&#xff0c;發現獲取到的IP頭部字段&#xff08;如saddr、daddr、protocol&#xff09;為空值。 代碼如下&#xff1a; /* 自定義結構體來映射 napi_gro_receive_entry tracepoint 的 format */ struct napi…

Android子線程更新View的方法原理

對于所有的Android開發者來說&#xff0c;“View的更新必須在UI線程中進行”是一項最基本常識。 如果不在UI線程中更新View&#xff0c;系統會拋出CalledFromWrongThreadException異常。那么有沒有什么辦法可以不在UI線程中更新View&#xff1f;答案當然是有的&#xff01; 一…

【Manus資料合集】激活碼內測渠道+《Manus Al:Agent應用的ChatGPT時刻》(附資源)

DeepSeek 之后&#xff0c;又一個AI沸騰&#xff0c;沖擊的不僅僅是通用大模型。 ——全球首款通用AI Agent的破圈啟示錄 2025年3月6日凌晨&#xff0c;全球AI圈被一款名為Manus的產品徹底點燃。由Monica團隊&#xff08;隸屬中國夜鶯科技&#xff09;推出的“全球首款通用AI…

Python----計算機視覺處理(opencv:像素,RGB顏色,圖像的存儲,opencv安裝,代碼展示)

一、計算機眼中的圖像 像素 像素是圖像的基本單元&#xff0c;每個像素存儲著圖像的顏色、亮度和其他特征。一系列像素組合到一起就形成 了完整的圖像&#xff0c;在計算機中&#xff0c;圖像以像素的形式存在并采用二進制格式進行存儲。根據圖像的顏色不 同&#xff0c;每個像…

SQLiteStudio:一款免費跨平臺的SQLite管理工具

SQLiteStudio 是一款專門用于管理和操作 SQLite 數據庫的免費工具。它提供直觀的圖形化界面&#xff0c;簡化了數據庫的創建、編輯、查詢和維護&#xff0c;適合數據庫開發者和數據分析師使用。 功能特性 SQLiteStudio 提供的主要功能包括&#xff1a; 免費開源&#xff0c;可…

【軟考網工-實踐篇】DHCP 動態主機配置協議

一、DHCP簡介 DHCP&#xff0c;Dynamic Host Configuration Protocol&#xff0c;動態主機配置協議。 位置&#xff1a;DHCP常見運行于路由器上&#xff0c;作為DHCP服務器功能&#xff1a;用于自動分配IP地址及其他網絡參數給網絡中的設備作用&#xff1a;簡化網絡管理&…

【Linux學習筆記】Linux用戶和文件權限的深度剖析

【Linux學習筆記】Linux用戶和文件權限的深度剖析 &#x1f525;個人主頁&#xff1a;大白的編程日記 &#x1f525;專欄&#xff1a;Linux學習筆記 前言 文章目錄 【Linux學習筆記】Linux用戶和文件權限的深度剖析前言一. Linux權限管理1.1 文件訪問者的分類&#xff08;人)…

Centos離線安裝openssl-devel

文章目錄 Centos離線安裝openssl-devel1. openssl-devel是什么&#xff1f;2. openssl-devel下載地址3. openssl-devel安裝4. 安裝結果驗證 Centos離線安裝openssl-devel 1. openssl-devel是什么&#xff1f; openssl-devel 是 Linux 系統中與 OpenSSL 加密庫相關的開發包&…

深度學習篇---Opencv中Haar級聯分類器的自定義

文章目錄 1. 準備工作1.1安裝 OpenCV1.2準備數據集1.2.1正樣本1.2.2負樣本 2. 數據準備2.1 正樣本的準備2.1.1步驟2.1.2生成正樣本描述文件2.1.3示例命令2.1.4正樣本描述文件格式 2.2 負樣本的準備2.2.1步驟2.2.2負樣本描述文件格式 3. 訓練分類器3.1命令格式3.2參數說明 4. 訓…

Smart Time Plus smarttimeplus-MySQLConnection SQL注入漏洞(CVE-2024-53544)

免責聲明 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x01…

58.Harmonyos NEXT 圖片預覽組件架構設計與實現原理

溫馨提示&#xff1a;本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦&#xff01; Harmonyos NEXT 圖片預覽組件架構設計與實現原理 文章目錄 Harmonyos NEXT 圖片預覽組件架構設計與實現原理效果預覽一、組件架構概述1. 核心組件層…

虛擬機下ubuntu進不了圖形界面

6.844618] piix4_smbus 0000:07.3: SMBus Host ContrFoller not enabled! 7.859836] sd 2:0:0:0:0: [sda] Assuming drive cache: wirite through /dev/sda1: clean, 200424/1966080 files, 4053235/7864064 blocks ubuntu啟動時&#xff0c;卡在上面輸出位置 當前遇到的原因…

Appium高級操作--從源碼角度解析--模擬復雜手勢操作

書接上回&#xff0c;Android自動化--Appium基本操作-CSDN博客文章瀏覽閱讀600次&#xff0c;點贊10次&#xff0c;收藏5次。書接上回&#xff0c;上一篇文章已經介紹了appium在Android端的元素定位方法和識別工具Inspector&#xff0c;本次要介紹使用如何利用Appium對找到的元…

SpringBoot學生宿舍管理系統的設計與開發

項目概述 幽絡源分享的《SpringBoot學生宿舍管理系統的設計與開發》是一款專為校園宿舍管理設計的智能化系統&#xff0c;基于SpringBoot框架開發&#xff0c;功能全面&#xff0c;操作便捷。該系統涵蓋管理員、宿管員和學生三大角色&#xff0c;分別提供宿舍管理、學生信息管…

愛普生溫補晶振 TG5032CFN高精度穩定時鐘的典范

在科技日新月異的當下&#xff0c;眾多領域對時鐘信號的穩定性與精準度提出了極為嚴苛的要求。愛普生溫補晶振TG5032CFN是一款高穩定性溫度補償晶體振蕩器&#xff08;TCXO&#xff09;。該器件通過內置溫度補償電路&#xff0c;有效抑制環境溫度變化對頻率穩定性的影響&#x…

【原創】在高性能服務器上,使用受限用戶運行Nginx,充當反向代理服務器[未完待續]

起因 在公共高性能服務器上運行OllamaDeepSeek&#xff0c;如果按照默認配置啟動Ollama程序&#xff0c;則自己在遠程無法連接你啟動的Ollama服務。 如果修改配置&#xff0c;則會遇到你的Ollama被他人完全控制的安全風險。 不過&#xff0c;我們可以使用一個方向代理&#…

Bash和Zsh的主要差異是?

Bash&#xff08;GNU Bourne-Again Shell&#xff09; 和 Zsh&#xff08;Z Shell&#xff09; 都是功能強大的Unix/Linux Shell&#xff0c;廣泛用于交互式使用和腳本編寫。 盡管它們有很多相似之處&#xff0c;但在功能、語法、配置選項等方面也存在一些顯著的區別。 是Bas…

芯科科技推出的BG29超小型低功耗藍牙?無線SoC,是藍牙應用的理想之選

具有擴大的內存和超低功耗特性的超小型BG29是互聯健康設備的理想之選 低功耗無線領域內的領導性創新廠商Silicon Labs&#xff08;亦稱“芯科科技”&#xff0c;NASDAQ&#xff1a;SLAB&#xff09;今日宣布&#xff1a;推出全新的第二代無線開發平臺產品BG29系列無線片上系統…