kai*_*uki 0 java sorting datetime arraylist custom-object
我有一个自定义对象,其结构是
public String name;
public int type;
public String createdOn;
Run Code Online (Sandbox Code Playgroud)
createdOn 是日期,其格式是: 2011-12-16T23:27:27+0000
我已经存储了多个这种类型的对象,ArrayList现在我想根据创建日期和时间对它们进行排序.
我尝试过使用Collections.sort(....),但没有合适的结果.
在得到答案后做了一些研发,我解决了排序的问题,这里是按日期排序数组列表的代码.
Collections.sort(arrlst,new Comparator<T>() {
public int compare(T lhs, T rhs) {
try {
SimpleDateFormat dateFormatlhs = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Date convertedDatelhs = dateFormatlhs.parse(lhs.feedCreatedTime);
Calendar calendarlhs = Calendar.getInstance();
calendarlhs.setTime(convertedDatelhs);
SimpleDateFormat dateFormatrhs = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Date convertedDaterhs = dateFormatrhs.parse(rhs.feedCreatedTime);
Calendar calendarrhs = Calendar.getInstance();
calendarrhs.setTime(convertedDaterhs);
if(calendarlhs.getTimeInMillis() > calendarrhs.getTimeInMillis())
{
return -1;
}
else
{
return 1;
}
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});
Run Code Online (Sandbox Code Playgroud)