我有arraylist
字符串类型。在此arraylist
我存储了一些日期,如
ArrayList<String> date = new ArrayList<String>();
date.add("20-jan-2013 11:32:39 AM");
date.add("21-jan-2013 11:32:39 AM");
date.add("22-jan-2013 11:32:39 AM");
date.add("23-jan-2013 11:32:39 AM");
.
.
.
.
.
.
date.add("29-jan-2013 11:32:39 AM");
数组列表中超过20个值。我的问题是我如何从arrayList
获取两个值(日期)之间的值(日期),如此日期21-jan-2013 11:32:39 AM to 27-jan-2013 11:32:39 AM.
帮帮我谢谢
答案 0 :(得分:2)
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-mmm-yyyy hh:mm:ss aa");
Date convertedDate = new Date();
ArrayList<String> filteredDate=new ArrayList<String>;
Iterator<String> iterator = lList.iterator();
for (String temp : lList)
{
try
{
convertedDate = dateFormat.parse(temp);
}
catch (Exception e)
{
e.printStackTrace();
}
if((convertedDate.before(date2)) && (convertedDate.after(date1))) //here "date2" and "date1" must be converted to dateFormat
{
filteredDate.add(convertedDate); // You can use these filtered ArrayList
}
}
答案 1 :(得分:0)
List<String> result = new ArrayList<String>();
boolean foundFirst = false;
for(String s : date) {
if(!foundFirst) {
if(s.equals(myFirstElement)) {
foundFirst = true;
result.add(s);
}
} else {
result.add(s);
if(s.equals(myLastElement) {
break;
}
}
}
答案 2 :(得分:0)
这样的事情会起作用:
ArrayList<String> date = new ArrayList<String>();
int begin=0, end=0;
for(int i = 0; i < date.size(); i++){
if(date.get(i).equals(myFirstDate)){
begin = i;
}
if(date.get(i).equals(myLastDate)){
end = i;
}
}
ArrayList<String> myDates = new ArrayList<String>();
for(int i = 0; i < (end - begin); i++){
myDates.add(date.get(i + begin));
}
答案 3 :(得分:-1)
做这样的事情:
private ArrayList<String> filter(ArrayList<String> original, String startDate, String endDate) {
TimeStamp start = ...;
TimeStamp end = ...;
这里你需要获取字符串值的时间戳,看看这是如何工作的,看看这个question, and the provided answer。
ArrayList temp = new ArrayList<String>();
for (int i= 0; i < original.size(); i++) {
TimeStamp currentTimeStamp = timestamp of original.get(i)
if (start < currentTimeStamp && stop > currentTimeStamp) {
temp.add(original.get(i));
}
}
return temp;
}
这应该可以解决您的问题