变量dateSubtract为16,但我想找出这两天之间的总天数,应该是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();发布于 2014-06-18 15:21:18
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;发布于 2014-06-18 15:27:36
没有JODA的时间:
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
Date dateStart = null;
Date dateEnd = null;
try {
dateStart = format.parse("01/01/2014");
dateEnd = format.parse("06/17/2014");
long diffTime = dateEnd.getTime() - dateStart.getTime();
long diffDays = diffTime / (24 * 60 * 60 * 1000);
} catch (Exception e) {
e.printStackTrace();
}发布于 2020-06-18 20:12:29
期间以年数、月份和天数(如2 years, 3 months and 4 days )来表示时间的数量或数量。
要计算两个日期之间的天数,请使用ChronoUnit.DAYS.between
long days = ChronoUnit.DAYS.between(LocalDate.of(2020,4,1), LocalDate.now());https://stackoverflow.com/questions/24289157
复制相似问题