0
我試圖從DOB獲得年齡,但目前使用的方法需要8位數字:26091964.這會返回良好結果。如何確定只有6位數字的年齡
但我得到的DOB數據只包含6位數字(來自護照MRZ:260964)。我如何從這個確定年齡?
這是我到目前爲止有:
public Integer ageChecker(String dateOfBirth) {
if (dateOfBirth.length() == 6) {
if (StringUtils.isNumeric(dateOfBirth)) {
String year = dateOfBirth.substring(0, 2);
String month = dateOfBirth.substring(2, 4);
String day = dateOfBirth.substring(4, 6);
int dag = Integer.parseInt(day);
int maand = Integer.parseInt(month);
int jaar = Integer.parseInt(year);
Calendar dob = Calendar.getInstance();
Calendar today = Calendar.getInstance();
dob.set(jaar, maand, dag);
int age = today.get(Calendar.YEAR) - dob.get(Calendar.YEAR);
if (today.get(Calendar.DAY_OF_YEAR) < dob.get(Calendar.DAY_OF_YEAR)) {
age--;
}
Integer ageInt = new Integer(age);
return ageInt;
}
}
return null;
}
任何意見將非常感謝!
只有6個字母,如果假設dob是010115,您將如何識別年齡。它可以是1年或101年? –