java - 从两个日期/时间戳创建日期范围?

标签 java date

如果已知两个结束日期,如何获取日期范围?

即如果我想要 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/

相关文章:

java - PDFBox 2.0.1 挂起渲染 pdf 页面

javascript - 这是什么样的空 Javascript 对象?

java - 在java中使用日期类型

mysql - 我如何使用 mysql 获取过去六个月的结果?

apache-flex - Chrome Flash Player (Pepper) 日期 timezoneOffset 错误

java - 使用 OpenStack4j 向 IBM 对象存储进行身份验证

java - http:条件获取不会在不再次发送正文的情况下刷新 header

java - 使用 proguard 混淆 JAXB 代码期间出现 IllegalAnnotationsException

java - Android PhoneGap 横向崩溃

mysql - 我想将考勤数据表中 'date' 列的 varchar 数据类型转换为日期数据类型