| | |
| | | return age; |
| | | } |
| | | |
| | | public static int getAgeFromBirthTimes(String birthTimeString) { |
| | | // 先截取到字符串中的年、月、日 |
| | | int selectYear = Integer.parseInt(birthTimeString.substring(0,4)); |
| | | int selectMonth = Integer.parseInt(birthTimeString.substring(5,7)); |
| | | int selectDay = Integer.parseInt(birthTimeString.substring(8,10)); |
| | | // 得到当前时间的年、月、日 |
| | | Calendar 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) {// 选了未来的年份 |
| | | age = 0; |
| | | } else if (yearMinus == 0) {// 同年的,要么为1,要么为0 |
| | | if (monthMinus < 0) {// 选了未来的月份 |
| | | age = 0; |
| | | } else if (monthMinus == 0) {// 同月份的 |
| | | if (dayMinus < 0) {// 选了未来的日期 |
| | | age = 0; |
| | | } else if (dayMinus >= 0) { |
| | | age = 1; |
| | | } |
| | | } else if (monthMinus > 0) { |
| | | age = 1; |
| | | } |
| | | } else if (yearMinus > 0) { |
| | | if (monthMinus < 0) {// 当前月>生日月 |
| | | } else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄 |
| | | if (dayMinus < 0) { |
| | | } else if (dayMinus >= 0) { |
| | | age = age + 1; |
| | | } |
| | | } else if (monthMinus > 0) { |
| | | age = age + 1; |
| | | } |
| | | } |
| | | return age; |
| | | } |
| | | |
| | | // 根据时间戳计算年龄 |
| | | public static int getAgeFromBirthTime(long birthTimeLong) { |
| | | Date date = new Date(birthTimeLong * 1000l); |
| | |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String yese = "19980516"; |
| | | String year = yese.substring(0,4); |
| | | String month = yese.substring(4,6); |
| | | String ri = yese.substring(6,8); |
| | | System.out.println(); |
| | | int age = getAgeFromBirthTime("1995-08-18"); |
| | | System.out.println(age); |
| | | } |
| | | } |