Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java日期周期比较_Java_Date_Vector_Comparison - Fatal编程技术网

Java日期周期比较

Java日期周期比较,java,date,vector,comparison,Java,Date,Vector,Comparison,我想用java创建一个函数,它将执行以下操作: 获取向量中的对象列表,其中包含字段startDate,endDate 获取向量中具有字段startDate,endDate 并返回true或false如果从第一个列表(startDate到endDate)的每个日期期间,第二个列表中都有相应的日期期间 但是,第二个列表中的日期段可以用连续日期填充。 例如列表1(只有一个对象):Object1(开始日期=2010年1月1日,结束日期=2013年1月1日) 如果提供了列表2(2个对象):Object1(

我想用java创建一个函数,它将执行以下操作:

  • 获取向量中的对象列表,其中包含字段
    startDate
    endDate
  • 获取向量中具有字段
    startDate
    endDate
    并返回
    true
    false
    如果从第一个列表(
    startDate
    endDate
    )的每个日期期间,第二个列表中都有相应的日期期间
  • 但是,第二个列表中的日期段可以用连续日期填充。 例如列表1(只有一个对象):
    Object1
    (开始日期=2010年1月1日,结束日期=2013年1月1日)

    如果提供了列表2(2个对象):
    Object1
    (开始日期=2010年1月1日,结束日期=2010年3月1日)
    Object2
    (开始日期=2010年3月1日结束日期=2013年1月1日)
    应该返回
    true

    以下是一些伪代码

  • 创建第三个开始/结束日期列表
  • 对于第二个列表中的每个开始/结束
    • 如果与第三个列表中的任何现有日期范围重叠,请扩展该日期范围
    • 否则,只需将其添加到第三个列表中即可
  • 对于第一个列表中的每个开始/结束(a,b)
  • 设置覆盖=假
  • 对于第三个列表中的每个开始/结束(c,d)
  • 如果(c,d)涵盖(a,b)
    • 设置覆盖范围=真
  • 如果未覆盖,则返回false
  • 返回真值
  • 要找出上面的“重叠”部分,您需要涵盖以下情况:

    |-----|
      |-|
    


    将所有日期转换为,范围的交集就变得无关紧要了。

    好的,到目前为止您尝试了什么?从谷歌搜索以下关键词开始:java+日历+日期比较。然后回来告诉我们你已经取得了多大的进步。这只会简化日期比较,但这对于日期来说也是微不足道的。
      |-----|
    |---|
    
    |-----|
        |---|
    
      |-|
    |-----|