1. 程式人生 > >java根據出生日期和當前時間計算年齡

java根據出生日期和當前時間計算年齡

1、獲取系統時間計算年齡

public static int getAgeByBirthday(Date birthday) {
Calendar cal = Calendar.getInstance();
if (cal.before(birthday)) {
throw new IllegalArgumentException(
"The birthDay is before Now.It's unbelievable!");
}
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
cal.setTime(birthday);
int yearBirth = cal.get(Calendar.YEAR);
int monthBirth = cal.get(Calendar.MONTH) + 1;
int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
int age = yearNow - yearBirth;
if (monthNow <= monthBirth) {
if (monthNow == monthBirth) {
// monthNow==monthBirth 
if (dayOfMonthNow < dayOfMonthBirth) {
age--;
}
} else {
// monthNow>monthBirth 
age--;
}
}
return age;
}

2、輸入時間引數計算年齡

public static int getAgeByBirthday(Date birthday, Date treattime) {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(treattime);
if (cal1.before(birthday)) {
throw new IllegalArgumentException(
"The birthDay is before Now.It's unbelievable!");
}
int yearNow = cal1.get(Calendar.YEAR);
int monthNow = cal1.get(Calendar.MONTH) + 1;
int dayOfMonthNow = cal1.get(Calendar.DAY_OF_MONTH);

Calendar cal2 = Calendar.getInstance();
cal2.setTime(birthday);
int yearBirth = cal2.get(Calendar.YEAR);
int monthBirth = cal2.get(Calendar.MONTH) + 1;
int dayOfMonthBirth = cal2.get(Calendar.DAY_OF_MONTH);
int age = yearNow - yearBirth;
if (monthNow <= monthBirth) {
if (monthNow == monthBirth) {
// monthNow==monthBirth 
if (dayOfMonthNow < dayOfMonthBirth) {
age--;
}
} else {
// monthNow>monthBirth 
age--;
}
}
return age;
}

相關推薦

java根據出生日期當前時間計算年齡

1、獲取系統時間計算年齡 public static int getAgeByBirthday(Date birthday) {Calendar cal = Calendar.getInstance();if (cal.before(birthday)) {throw ne

js計算摸一個日期當前時間的差值

var str = "2010/12/1"; var d1 = new Date(str); var d2 = new Date(); var m = Math.abs((d2.getFullYear()-d1.getFullYear())*12+d2.getMonth()-

根據開始日期當前日期,獲取當前是第幾周

1 /** 2 * 根據開始日期和當前日期,獲取當前是第幾周 3 * @param beginDateStr 開始日期 4 * @param endDateStr 當前日期 5 * @return 6 */ 7 public sta

java根據身份證號獲取用戶年齡性別的工具類

throws 工具 java inf port 年份 sim 身份證 row import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import ja

sql server 根據身份證號計算出生日期年齡的存儲過程

ttl 實現 分享 mst () 需要 poc getdate mtr 我這邊有一個業務,需要客戶填寫身份證號,自動計算他的出生日期和年齡 在sql中,具體的存儲過程實現是這樣的: /********************************************

mysql設定表列的時候把時間設定成String型別,java 程式後面涉及到當前時間資料庫裡資料的差值計算,怎麼破?

mysql設定表列的時候把時間設定成String型別,java 程式後面涉及到當前時間和資料庫裡資料的差值計算,怎麼破? 如果改資料庫裡面表的列屬性varchar改成time,需要很多地方改進,而且專案已經試運行了,怕出問題? 在java程式中型別轉化很多,String型別可以轉化為date

在JS中根據身份證號計算出生日期年齡

1、根據身份證號計算出生日期 var identificationCardid=document.getElementById("identificationCardid").value;//取得身份

Mysql 根據出生日期計算年齡

format birt div 轉換 to_days ref 社會 emp ear 最近因為業務要求需要根據出生日期計算年齡,在網上查了好多的方法,在這裏總結一下。 網上的計算方法好多都提到了格裏高利歷法,特意去查了下資料,普及點知識。   格裏高利歷是公歷的標準名稱,是一

JS-根據身份證獲取 出生日期性別

超出 DC struct 生日 超出範圍 河北 福建 湖北 substring 一、根據身份證獲取出生日期和性別/** * 根據身份證獲取出生日期(yyyy-MM-dd) * @param psidno * @returns {birthday:yyyy-MM-dd

PHP 根據出生日期計算年齡、生肖、星座

/** * 根據出生日期計算年齡、生肖、星座 * @param string $mydate = "2018-10-23" 日期 * @param string $symbol 符號 * @return $array * */ function birthday($mydate,$sym

根據生產日期保質期計算食品過期日期

releaseDate表示食品出廠日期,day表示保質期,計算食品的過期日期,格式為yyyy-mm-dd。 日期處理類::             a、java.util.Date類:public Date

php 根據資料庫的開始時間結束時間計算出天數 在根據天數迴圈對應的天數的次數

在專案的開發中  可能會遇到 這樣的需求 比如資料庫的欄位  start_time    end_time 開始時間  是 20180909 結束時間 是 20180913 那麼對應的 天數是4天的  那麼就要

【js】根據出生日期計算週歲年齡

/*根據出生日期算出年齡*/ function jsGetAge(strBirthday) { var returnAge; var strBirthdayArr = strBirthday.split("-"); var

php 根據資料庫的開始時間結束時間計算出天數 在根據天數迴圈對應的天數的次數

在專案的開發中  可能會遇到 這樣的需求 比如資料庫的欄位  start_time    end_time 開始時間  是 20180909 結束時間 是 20180913 那麼對應的 天數是4

Java通過出生日期計算星座、(生肖)

Java根據生日得出是十二星座的哪一個星座 方法一: public static String constellation(int month, int day) { String constellation = "";

java獲得當前時間當前時間前30秒時間

import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; //獲得當前時間和當前時間前30秒時間 SimpleDateFormat df = new Sim

根據出生日期計算現在年齡

//日期格式化 formatDatetime: function (datetimeString) {

JAVA開發11--獲取系統當前時間簡單的時間差

//        獲取當前時間         Date start_time = new Date();         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設定日期格式

java Calendar 日期獲取工具類,昨日開始時間,昨日結束時間當前週週一日期當前時間上月第一天,獲取當前年第一天

package com.ig.common.util; /** * 日期工具類 * Created by ccon 2015/9/9. */ import java.text.DateFormat; import java.text.ParseException; im

C# 根據當前時間計算周、月、季度、年的換算及注意事項

public static void ShowTime() { /* * 根據當前時間進行時間段轉換: * 本週、下週、上週 *