发布网友 发布时间:2022-05-11 06:58
共1个回答
热心网友 时间:2023-10-06 04:18
摘要"public static int getAgeForBirthday(String birthday){\ //定义一个日期格式yyyy-MM-dd,将String转为Date\ SimpleDateFormat simp = new SimpleDateFormat(\"yyyy-MM-dd\");\ Date date = null;\ try {\ date = simp.parse(birthday);\ } catch (ParseException e) {\ e.printStackTrace();\ }\ //判断该生日是否在当前日期之前,设置一个初始值,表示输入日期错误\ if(date.after(new Date())){\ return -1;\ }\ //获取当前日历对象中的年、月、日\ Calendar nowc = Calendar.getInstance();\ int nowYear = nowc.get(Calendar.YEAR);\ int nowMonth = nowc.get(Calendar.MONTH);\ int nowDay = nowc.get(Calendar.DAY_OF_MONTH);\ //将Date转为Calendar日历对象,获取生日的年、月、日\ nowc.setTime(date);\ //通过年月日计算该对象的年纪\ //先通过Year计算初步年龄\ int year = nowYear-nowc.get(Calendar.YEAR);\\ //通过Month和Day判断是否过生日\\ if(nowc.get(Calendar.MONTH)>nowMonth){\ return year-1;\ }\ if (nowc.get(Calendar.DAY_OF_MONTH)>nowDay){\"咨询记录 · 回答于2021-07-29java中从生年月日到今日计算年龄的方法"public static int getAgeForBirthday(String birthday){\ //定义一个日期格式yyyy-MM-dd,将String转为Date\ SimpleDateFormat simp = new SimpleDateFormat(\"yyyy-MM-dd\");\ Date date = null;\ try {\ date = simp.parse(birthday);\ } catch (ParseException e) {\ e.printStackTrace();\ }\ //判断该生日是否在当前日期之前,设置一个初始值,表示输入日期错误\ if(date.after(new Date())){\ return -1;\ }\ //获取当前日历对象中的年、月、日\ Calendar nowc = Calendar.getInstance();\ int nowYear = nowc.get(Calendar.YEAR);\ int nowMonth = nowc.get(Calendar.MONTH);\ int nowDay = nowc.get(Calendar.DAY_OF_MONTH);\ //将Date转为Calendar日历对象,获取生日的年、月、日\ nowc.setTime(date);\ //通过年月日计算该对象的年纪\ //先通过Year计算初步年龄\ int year = nowYear-nowc.get(Calendar.YEAR);\\ //通过Month和Day判断是否过生日\\ if(nowc.get(Calendar.MONTH)>nowMonth){\ return year-1;\ }\ if (nowc.get(Calendar.DAY_OF_MONTH)>nowDay){\"生年月日是定义好的一个文字列String类型,今日也是定义好的一个文字列String类型"public static Date parse(String strDate) throws ParseException { \ SimpleDateFormat sdf = new SimpleDateFormat(\"yyyy年MM月DD日\"); //定义日期格式 \ return sdf.parse(strDate); //字符串转换为Date格式 \ } \ //根据日期换算年龄 \ public static int getAge(Date date) throws ParseException { \ //java提供的日期类,因为是抽象类并且构造方法是protected,所以api提供了getInstance()来创建对象 \ Calendar cal = Calendar.getInstance(); \ \ if (cal.before(date)) { // before()日期是否在比较的日期之前,是true,否false \ throw new IllegalArgumentException(\"现在是你的生日!\"); \ } \ //当前的年月日 \ int yearNow = cal.get(Calendar.YEAR); //年 \ int monthNow = cal.get(Calendar.MONTH); //月 \ int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); //日 \ \ cal.setTime(date); \ //传入的年月日 \ int yearBirth = cal.get(Calendar.YEAR); \ int monthBirth = cal.get(Calendar.MONTH); \"要是只写RO的一个check方法,怎么做呢呃,对不起我不是太会