Java日期周期比较

标签 java date vector comparison

我想在 java 中创建一个函数来执行以下操作:

  1. 获取 vector 中的对象列表,其中包含字段 startDateendDate
  2. 获取 vector 中包含字段 startDateendDate 的第二个对象列表 如果对于第一个列表中的每个日期周期(startDateendDate),则返回 truefalse第二个列表中相应的日期段。

但是,第二个列表中的日期段可以由连续日期填充。 例如List1(只有一个对象):Object1(开始日期= 01/01/2010,结束日期= 01/01/2013)

如果提供 List2(2 个对象):Object1(开始日期 = 01/01/2010,结束日期 = 01/03/2010)Object2(开始日期= 01/03/2010 结束日期 = 01/01/2013) 应该返回true

最佳答案

这里有一些伪代码...

  1. 创建第三个开始/结束日期列表
  2. 对于第二个列表中的每个开始/结束
    • 如果与第三个列表中的任何现有日期范围重叠,请延长该日期范围
    • 否则只需将其添加到第三个列表
  3. 对于第一个列表中的每个开始/结束(a, b)
    1. 设置覆盖 = false
    2. 对于第三个列表中的每个开始/结束(c, d)
    3. 如果(c,d)覆盖(a, b)
      • 设置覆盖 = true
    4. 如果没有覆盖,则返回 false
  4. 返回 true

要弄清楚上面的“重叠”部分,您需要考虑以下情况:

|-----|
  |-|

 

  |-----|
|---|

 

|-----|
    |---|

 

  |-|
|-----|

关于Java日期周期比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4924902/

相关文章:

java - Spring从具有另一个签名的方法中驱逐缓存

java - 如何将复杂的 Json 字符串转换为对象?

ruby-on-rails - 是否有 ruby​​/rails gem 可以轻松确定日期范围

javascript - 选择第二个日期。推特 Bootstrap

vector - Rust `Vec`-无法在 `Vec`方法内借用 `impl`作为不可变的(错误[E0502])

C++ 向量化 vector 的 vector

java - Hadoop..如何计算输入拆分的散列

java - 如何让AjaxEditableLabel显示TextField?

javascript - 为什么删除一行会影响下一行?

c++ - 访问结构元素。是否可以像 vector 一样访问?