개발 이야기/JAVA

기타 - 주민등록번호를 입력받아 YYYYMMDD형식의 생년월일과 성별을 return하는 함수

최서리나리 2020. 8. 25. 11:12
	/**
	 * 주민등록번호 뒷자리를 입력받아 성별을 return, M : 남성 / F : 여성
	 * str : 주민번호 앞자리
	 * @param str
	 * @return
	 */
	public static String fn_getGender(String str){
		int genderCode = Integer.parseInt(str.substring(0, 1));
		String gender = null;
		if(genderCode % 2 > 0){
			gender = "M";
		}else if(genderCode % 2 == 0){
			gender = "F";
		}
		return gender;
	}

	/**
	 * 주민등록번호 앞, 뒷자리를 입력받아 YYYYMMDD형식으로 생년월일 return
	 * str1 : 주민번호 앞자리, str2 : 주민번호 뒷자리
	 * @param str1
	 * @param str2
	 * @return
	 */
	public static String fn_getDateOfBirth(String str1, String str2){
		int divisionCode = Integer.parseInt(str2.substring(0, 1));
		String dateOfBirth = null;
		if(divisionCode == 1 || divisionCode == 2 || divisionCode == 5 || divisionCode == 6){
			// 한국인 1900~, 외국인 1900~
			dateOfBirth = "19"+str1;
		}else if(divisionCode == 3 || divisionCode == 4 || divisionCode == 7 || divisionCode == 8){
			// 한국인 2000~, 외국인 2000~
			dateOfBirth = "20"+str1;
		}else if(divisionCode == 9 || divisionCode == 0){
			// 한국인 1800~
			dateOfBirth = "18"+str1;
		}
		return dateOfBirth;
	}