|  |  |  | 
|---|
|  |  |  | return dateStr; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 得到n天之后的日期 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static String getAfterDayDate2(Date date,String days) { | 
|---|
|  |  |  | int daysInt = Integer.parseInt(days); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Calendar canlendar = Calendar.getInstance(); // java.util包 | 
|---|
|  |  |  | canlendar.setTime(date); | 
|---|
|  |  |  | canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动 | 
|---|
|  |  |  | Date afterDate = canlendar.getTime(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd"); | 
|---|
|  |  |  | String dateStr = sdfd.format(afterDate); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return dateStr; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 得到n天之后是周几 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | return dt1.getTime(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 计算年龄 | 
|---|
|  |  |  | * @param birthDate | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static int age(Date birthDate) { | 
|---|
|  |  |  | // 当前日历 | 
|---|
|  |  |  | Calendar nowCalendar = Calendar.getInstance(); | 
|---|
|  |  |  | // 生日大于当前日期 | 
|---|
|  |  |  | if (nowCalendar.before(birthDate)) { | 
|---|
|  |  |  | throw new IllegalArgumentException("The birth date is before current time, it's unbelievable"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 当前年月日 | 
|---|
|  |  |  | int yearNow = nowCalendar.get(Calendar.YEAR); | 
|---|
|  |  |  | int monthNow = nowCalendar.get(Calendar.MONTH); | 
|---|
|  |  |  | int dayNow = nowCalendar.get(Calendar.DAY_OF_MONTH); | 
|---|
|  |  |  | // 出生日期年月日 | 
|---|
|  |  |  | Calendar birthCalendar = Calendar.getInstance(); | 
|---|
|  |  |  | birthCalendar.setTime(birthDate); | 
|---|
|  |  |  | int yearBirth = birthCalendar.get(Calendar.YEAR); | 
|---|
|  |  |  | int monthBirth = birthCalendar.get(Calendar.MONTH); | 
|---|
|  |  |  | int dayBirth = birthCalendar.get(Calendar.DAY_OF_MONTH); | 
|---|
|  |  |  | // 粗计算年龄 | 
|---|
|  |  |  | int age = yearNow - yearBirth; | 
|---|
|  |  |  | // 当前月份小于出生月份年龄减一 | 
|---|
|  |  |  | if (monthNow < monthBirth) { age--; } | 
|---|
|  |  |  | // 当前月份等于出生月份,日小于生日年龄减一 | 
|---|
|  |  |  | else if (monthNow == monthBirth && dayNow < dayBirth) { age--; } | 
|---|
|  |  |  | // 返回年龄值 | 
|---|
|  |  |  | return age; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|