工具类 - java8 获取两个日期间的所有日期

Posted light-train-union

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工具类 - java8 获取两个日期间的所有日期相关的知识,希望对你有一定的参考价值。

public static List<String> getBetweenDate(String start, String end) {
List<String> list = new ArrayList<>();
LocalDate startDate = null;
LocalDate endDate = null;
try {
startDate = LocalDate.parse(start);
endDate = LocalDate.parse(end);
} catch (Exception e) {
throw new ServiceException("日期格式不正确。(日期示例:2019-12-26)");
}

if (ObjectUtils.equals(start, end)) {
list.add(start);
return list;
}

long distance = ChronoUnit.DAYS.between(startDate, endDate);
if (distance < 1) {
return list;
}
Stream.iterate(startDate, d -> {
return d.plusDays(1);
}).limit(distance + 1).forEach(f -> {
list.add(f.toString());
});
return list;
}

注:传参(2019-12-31,2019-12-31) 返回 ["2019-12-31"]

以上是关于工具类 - java8 获取两个日期间的所有日期的主要内容,如果未能解决你的问题,请参考以下文章

[Java] 获取两个日期间的所有日期

Java8日期一文搞定Java8日期新特性

日期时间类

日期时间类

Java 8 LocalDateTime - 如何获取两个日期之间的所有时间

如何在java8中愉快地处理日期和时间java8新增了localdate和localtim