java - 如何在 java 中获取两个日期之间的日期列表?如何包括/排除开始日期/结束日期?

标签 java jodatime

我试过stack overflow给出的例子 how to get a list of dates between two dates in java

代码完美运行。但是有一个小问题。我的列表中也没有结束日期。我如何选择包括/排除开始日期和包括结束日期? 我可以使用 remove() 和 add() 手动执行此操作,或者 Joda API 可以为我执行此操作吗?

最佳答案

基于 on API ,似乎没有直接的方法来选择include。

一个黑客可能是,只需将 +1 添加到天数。

List<LocalDate> dates = new ArrayList<LocalDate>();
int days = Days.daysBetween(startDate, endDate).getDays()+1;
for (int i=0; i < days; i++) {
    LocalDate d = startDate.withFieldAdded(DurationFieldType.days(), i);
    dates.add(d);
}

关于java - 如何在 java 中获取两个日期之间的日期列表?如何包括/排除开始日期/结束日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12083053/

相关文章:

java - 如何在 while 循环内使用按钮的 Action 监听器?

java - Spring Boot 中从 org.joda.time.Interval 迁移

java - 使用 java.util.TimeZone 查找 DST 转换时间戳

java - 将 UTC 中的 ISO 8601 字符串转换为本地时间 - JodaTime 添加与本地时区相反的时间

java - JodaTime:如何从 LocalTime 获取格式为 "HH:mm Z"的字符串表示形式

java - 里氏替换和 SRP 原则违反 - 如何最好地构建这个场景?

java - Optional.ofNullable 和方法链

java - 抽象类方法有没有主体?

java - 制作 Google 可视化 - 在 GWT 中工作的注释图表

java - 在 JSP scriptlet 中,如何访问从 Spring MVC ModelMap 传递的 java.util.Date 值?