如果已知两个结束日期,如何获取日期范围?
即如果我想要 2015-06-07 00:00:00
之间的所有日期和2015-01-01 00:00:00
,如果两个日期都已设为Date
,我该怎么做?或Timestamp
对象?
我知道这在 Python 中是可能的,使用 datetime
模块:
[str(end_date + timedelta(days=x)) for x in range((start_date-end_date).days + 1)]
Java 中的等价物是什么?
最佳答案
使用乔达:
LocalDate from = new LocalDate(fromDate);
LocalDate to = new LocalDate(toDate);
int nDays = Days.daysBetween(from, to).getDays();
List<Date> days = new ArrayList<>(nDays);
for(int i = 0 ; i <= nDays ; i++) {
days.add(from.plusDays(i).toDate());
}
或者在 Java 8 中:
final LocalDate from = new LocalDate(fromDate);
final LocalDate to = new LocalDate(toDate);
List<Date> days = IntStream.range(0, Days.daysBetween(from, to).getDays() + 1)
.map(i -> from.plusDays(i).toDate())
.collect(Collectors.toList());
关于java - 从两个日期/时间戳创建日期范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149297/