基本上我已经:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String ActualDate = "2017-01-05";
LocalDate dt = LocalDate.parse(ActualDate, formatter);
LocalDateTime currentdate = LocalDateTime.now();
String datetocheckstr = currentdate.toString().substring(0, 10);
LocalDate datetochkbetween = LocalDate.parse(datetocheckstr, formatter);
long DAYS = ChronoUnit.DAYS.between(datetochkbetween, dt);
这非常有用,可以显示ActualDate
和now
之间的天数。
现在我需要将其转换为年,月和日。
因此,如果我的ActualDate = "2015-02-15"
和现在2017-03-27
我需要获得的输出是:2 Years 1 Month and 12 Days
。
和平在我们身上
答案 0 :(得分:2)
您可以使用java 8中的Period类。 我已经更新了你的代码。 试试吧:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String ActualDate = "2015-02-15";
LocalDate dt = LocalDate.parse(ActualDate, formatter);
LocalDate currentdate = LocalDate.now();
Period period = Period.between(dt, currentdate);
System.out.println("Years " + period.getYears()); //Years 2
System.out.println("Months " + period.getMonths()); //Months 1
System.out.println("Days " + period.getDays()); //Days 11