2011-02-07 79 views
1

我想在Java中創建一個功能,將做到以下幾點:的Java日期時間段比較

  1. 與領域startDate矢量獲取對象的列表,endDate
  2. 獲取對象的第二列表如果對於從第一個列表(startDateendDate)的每個日期時間段,在第二個列表中都有一個對應的日期時間段,該字段爲startDate,endDate 並返回truefalse

但是,第二個列表中的日期可以由連續的日期填充。 例如列表1(只有一個對象):

如果設有列表2 Object1(開始日期01/01/2010 =,結束日期= 2013年1月1日)(2個對象):Object1(開始日期= 01/01/2010,結束日期= 01/03/2010)Object2(開始日期= 01/03/2010結束日期= 2013年1月1日) 應該返回true

+5

好吧,你到目前爲止嘗試過什麼? – aioobe 2011-02-07 18:24:10

+1

用這些關鍵詞java +日曆+日期比較開始搜索。然後回來讓我們知道你有多進步。 – CoolBeans 2011-02-07 18:28:12

回答

2

這是給你一些僞代碼.. 。

  1. 創建開始的第三列表/結束日期
  2. 對於第二列表中的每個的開始/結束
    • 如果在第三列表中的任何現有的日期跨重疊,延長該日期跨
    • 否則只是在第一列表中其添加到第三列表
  3. 對於每個開始/結束(A,b)
    1. 設置覆蓋 =假
    2. 對於每個開始/結束(C,d)在第三列表
    3. 如果(C,d)覆蓋(A,B)
      • 設置覆蓋 =真
    4. 如果不是蓋的,返回false
  4. ,則返回true

搞清楚 「重疊」 部分上面,你需要涵蓋以下情況:

|-----| 
    |-| 

 

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

 

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

 

|-| 
|-----|