import java.text.ParseException;
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.util.Scanner;
public class Date {public static void main(String[] args) throws ParseException {DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年M月d日");Scanner scanner = new Scanner(System.in);while (true) {System.out.println("请输入第1个生日:(yyy年MM月dd日)");String next1 = scanner.next();System.out.println("请输入第2个生日:(yyy年MM月dd日)");String next2 = scanner.next();try {TemporalAccessor parse1 = dtf.parse(next1);TemporalAccessor parse2 = dtf.parse(next2);LocalDate from1 = LocalDate.from(parse1);LocalDate from2 = LocalDate.from(parse2);int i = from1.compareTo(from2);if (i == 0) {System.out.println("两个人年龄相同");} else if (i > 0) {System.out.println("第1个生日的人年龄更小一些");System.out.println("输入不太合法,第二个生日要比第一个大,重新输吧!");continue;}Period between = Period.between(from1, from2);System.out.println("你已经活了:" + between.getYears() + "年零" + between.getMonths() + "月零" + between.getDays() + "天了!");int years = (between.getYears() *365) + (between.getMonths() * 30) + between.getYears();System.out.println("总共活了:" + years + " 天");break;} catch (Exception e) {System.out.println("输入非法,重新输入!(yyy年MM月dd日)");}}}
}