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