2011-01-05 46 views
0

i hav低於時間記錄存儲在數組中。使用java計算所選時間段內的記錄數量

8.10.22 AM 
8.20.35 AM 
8.56.46 AM 
8.44.39 AM 

所以我想在上午8多少記錄早上9點時間。我怎麼能使用java?這是我的代碼...

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("c:/sample.csv") 
         while (reader.ready()) { 
       String line = reader.readLine(); 
       String[] values = line.split(","); 
       String ti=values[5]; 
    DateFormat dateformat = new SimpleDateFormat("hh:mm:ss"); 
    Date date = dateformat.parse(ti); 
      } 
+0

你有什麼格式?像喬達時間「LocalTime」對象將是理想的... – 2011-01-05 13:21:14

+0

DateFormat dateformat = new SimpleDateFormat(「hh:mm:ss」); – Chamal 2011-01-05 13:22:48

回答

1

您可以使用beforeafter日期API方法來測試,如果Date是在一定的時間範圍內。如果是,請增加一個計數器。

+0

在這裏,我顯示了我的代碼。你能幫我解決這個問題嗎? – Chamal 2011-01-05 13:32:52

0

循環訪問數組並計算匹配數。

0

他們是否按時間排序?如果沒有,我會使用可以訂購的結構,如果可能的話。一旦你發現超過你正在搜索的窗口的時間,你可以停止搜索。根據結構的大小,這可以節省大量時間。

0

遍歷數組可能不是最好的方法。如果日期是有序的,您可能需要進行二進制搜索以獲取開始之前和結束之後的第一個日期的位置,並計算它們之間的日期數。