我有这样的日期和时间字符串
“ 2018年10月30日星期四12:42:56 GMT + 05:30”
“ 2018年10月21日星期一9:13:56 GMT + 05:30”
我想按升序对它们进行排序。
我正在尝试使用以下代码来执行此操作,但未获得任何结果。
try {
Collections.sort(list, new Comparator<Model>() {
@Override
public int compare(Model lhs, Model rhs) {
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss YYYY", Locale.getDefault());
Date left = null, right = null;
try {
left = sdf.parse(String.valueOf(lhs.date_time));
right = sdf.parse(String.valueOf(rhs.date_time));
} catch (ParseException e) {
e.printStackTrace();
}
if (left != null && left.after(right)) {
return -1;
} else {
return 1;
}
}
});
} catch (Exception e) {
Toast.makeText(getActivity(), "Failed To Sort", Toast.LENGTH_SHORT).show();
}
我做错了什么?
谢谢。
答案 0 :(得分:0)
我已经自己解决了,就像这样。
try {
Collections.sort(list, new Comparator<Model>() {
@Override
public int compare(Model lhs, Model rhs) {
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss", Locale.getDefault());
Date left = null, right = null;
try {
left = sdf.parse(String.valueOf(lhs.date_time));
right = sdf.parse(String.valueOf(rhs.date_time));
} catch (ParseException e) {
e.printStackTrace();
}
if (left != null && left.after(right)) {
return 1;
} else {
return -1;
}
}
});
} catch (Exception e) {
Toast.makeText(getActivity(), "Failed To Sort Matches", Toast.LENGTH_SHORT).show();
}