2
我有一個java multimap包含映射到開始日期和結束日期的標識符。遍歷列表並返回匹配鍵
SetMultiMap<String,List<Date>> mymap = LinkedHashMultimap.create();
我使用這個地圖中的另一種方法,在這裏我想檢索其結束日期不到1個星期前所有的按鍵。
我嘗試這樣做:
DateTime lastWeek_joda = new DateTime().minusDays(7);
Date end_date = lastWeek_joda.toDate();
現在我重複如下:
for (Map.Entry<String,List<date>> entry : mymap.entries())
String key = entry.getKey();
List<Date> value = entry.getValue();
if (end_date.equals(value.get(1))) {
key_set.add(key);
}
}
這並不返回我預期的結果? 這可以做到任何更容易/不同?提前致謝。
你應該使用'的compareTo()'。通過使用'equals()',您將只能得到與1周前的日期時間完全相同的日期時間。 –
試試看[如何比較日期](http://stackoverflow.com/a/2592513/1346996)。 – aribeiro
在Java中使用日曆類來檢查日期range.it提供了很多功能來過濾date.http://stackoverflow.com/questions/17210839/get-last-week-date-range-for-a-date-in- java的 – gihan