变量dateSubtract
结果是 16,但我想找到这 2 天之间的总天数,应该是 165。没有 JODA TIME 我该如何做到这一点?
String date = "06/17/2014";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
LocalDate d1 = LocalDate.parse("01/01/2014", formatter);
LocalDate d2 = LocalDate.parse(date, formatter);
int dateSubtract = Period.between(d1, d2).getDays();
最佳答案
Period
是日、月、年的组合。因此,就您而言,期限为 5 个月零 16 天。 javadoc里有解释,不过随便看不一定很清楚。
天数单位不会自动与月和年单位标准化。这意味着“45 天”的时间段与“1 个月零 15 天”的时间段不同,getDays()
将分别返回 45 和 15。
要获取两个日期之间的总天数,您可以使用:
//including d1, excluding d2:
ChronoUnit.DAYS.between(d1, d2);
//or, to exclude d1 AND d2, one of these:
ChronoUnit.DAYS.between(d1.plusDays(1), d2);
ChronoUnit.DAYS.between(d1, d2) - 1;
关于java - 期间.仅减去天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24289157/