次のコードは、IDカードに基づいて年齢を計算するJavaの方法を共有します。特定のコードは次のとおりです。
Birthdate = idcard.substring(6,10)+" - "+idcard.substring(10,12)+"+"+idcard.substring(12,14)public static int getagefromtime(string birthtimestring){//最初のインターセプトの年、月、string int selectyear = integer.parseint(strs [0]); int selectmonth = integer.parseint(strs [1]); int selectday = integer.parseint(strs [2]); //現在の時刻カレンダーの年、月、日を取得cal = calendar.getInstance(); int yearnow = cal.get(calendar.year); int monthnow = cal.get(calendar.month) + 1; int daynow = cal.get(calendar.date); //誕生日の年、月、日を今年度、月、日のint yearminus = yearnow -selectyearで減算します。 int monthminus = monthnow -selectmonth; int dayminus = daynow -selectday; int age = yearminus; if(yearminus <0){//将来の年齢を選択= 0; } else if(yearminus == 0){//同じ年は1または0のいずれかです。 } else if(monthminus == 0){// if(dayminus <0){//将来の日付年齢を選択= 0; } else if(dayminus> = 0){age = 1; }} else if(monthminus> 0){age = 1; }} else if(yearminus> 0){age = 1; }} else if(yearminus> 0){if(monthminus <0){// current month>誕生日月} else if(monthminus == 0){//同じ月の年齢を計算します。 }} else if(monthminus> 0){age = age + 1; }} return age;}生年月日に基づいてJavaによって得られた年齢を見てみましょう
public static int getage(日付の誕生日)スロー例外{calendary cal = calendar.getInstance(); if(cal.before(Birthday)){新しいIllegalargumentException( "誕生日は今より前です。信じられないほど!"); } int yearnow = cal.get(calendar.year); int monthnow = cal.get(calendar.month); int dayofmonthnow = cal.get(calendar.day_of_month); Cal.Settime(誕生日); int yearbirth = cal.get(calendar.year); int monthbirth = cal.get(calendar.month); int dayof monthbirth = cal.get(calendar.day_of_month); int age = Yearnow -yearbirth; if(monthnow <= monthbirth){if(monthnow == monthbirth){if(dayofmonthnow <dayofmonthbirth)age--; } else {age--; }} system.out.println( "age:"+age);戻り年齢; }要約します
上記は、IDカードに基づいて年齢を計算することにより、編集者によって紹介されたJavaです。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!