java 传入两个日期Date类型 获取相隔每天的年月日格式(yyyy-MM-dd)
时间: 2023-12-12 18:05:58 浏览: 81
java如何获取两个日期的时间差
5星 · 资源好评率100%
可以使用 Java 8 中的 `java.time` 包来计算两个日期之间相隔天数,并逐日进行处理,格式化成 yyyy-MM-dd 格式。
示例代码如下:
```java
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
public class DateUtils {
public static List<String> getDaysBetweenDates(Date startDate, Date endDate) {
LocalDate startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate endLocalDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Period period = Period.between(startLocalDate, endLocalDate);
int days = period.getDays();
List<String> dateList = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
for (int i = 0; i <= days; i++) {
LocalDate currentDate = startLocalDate.plusDays(i);
dateList.add(currentDate.format(formatter));
}
return dateList;
}
}
```
可以调用该方法,获取两个日期之间每一天的日期字符串列表:
```java
Date startDate = new Date();
Date endDate = new Date(System.currentTimeMillis() + 86400000); // 当前日期的下一天
List<String> dateList = DateUtils.getDaysBetweenDates(startDate, endDate);
for (String date : dateList) {
System.out.println(date);
}
```
输出结果为:
```
2021-09-26
2021-09-27
```
阅读全文