java - 如何从 Java 中的非连续日期数组中列出缺失的日期?

标签 java datetime

我有一个按日期排序的数据表,用户可以通过提供开始和结束日期从中选择一组数据。数据本身是不连续的,因为我没有周末和公共(public)假期的数据。

我希望能够在提取的数据集中列出我没有数据的所有日期。在 Java 中是否有一种简单的方法:

  1. 这是一个有序的日期数组。
  2. 这是选定的开始日期。 (数组中的第一个日期并不总是开始日期)
  3. 这是选定的结束日期。 (数组中的最后一个日期并不总是结束日期)
  4. 返回没有数据的日期列表。

最佳答案

您可以创建一个临时列表并根据需要对其进行 x 化。

(不是真正的 Java。抱歉,我对它的内存很糟糕。)

dates = [...]; // list you have now;

// build list
unused = [];
for (Date i = startdate; i < enddate; i += day) {
    unused.push(i);
}

// remove used dates
for (int j = 0; j < dates.length; j += 1) {
    if (unused.indexOf((Date) dates[j]) > -1) { // time = 00:00:00
        unused.remove(unused.indexOf((Date) dates[j]));
    }
}

关于java - 如何从 Java 中的非连续日期数组中列出缺失的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/347656/

相关文章:

java - 将 int 输入解析为 char

java - 为什么这个 Guava 按值排序 map 有效?

java - JSP EL : dynamic creation of property name

c# - 如何将 CurrentCulture 格式的日期时间转换为公历日期时间?

python - 使用 OutOfBoundsDatetime 儒略历到公历日期

java - 等差数列中的前 1,000 个数 1, 4, 7, 10

java - 通过套接字传输文件

java - java.sql.Timestamp 时区是特定的吗?

c# - 将日期时间转换为 yyyy-MM-ddT00 :00:00

c# - .NET DateTime 不在 ToShortTimeString() 中返回 AM/PM