/**
* 消息上架时间排序<br>
* @param list
* @param reverse
* @return
*/
protected List<MessageVo> getShowTimeSortList(List<MessageVo> list,
boolean reverse) {
if (reverse) {
Comparator<Object> comp = new Comparator<Object>() {
public int compare(Object o1, Object o2) {
MessageVo p1 = (MessageVo) o1;
MessageVo p2 = (MessageVo) o2;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//showTime : 有效时间
String t1 = p1.getShowTime();
String t2 = p2.getShowTime();
Date dt1 = null;
Date dt2 = null;
if(null == t1 || null == t2){
return 1;
}
try {
dt1 = sdf.parse(t1);
dt2 = sdf.parse(t2);
} catch (ParseException e) {
logger.error("CommonSearch.java conver time error :"+e.getMessage());
}
if(dt1.before(dt2))return 1;
return 0;
//此段代码有linux下有bug,需调整
//if (dt1.getTime() > dt2.getTime()) { //dt1 在 dt2前
//logger.info("## dt1.getTime() > dt2.getTime() ----> return 1;");
//return 1;
//} else {
//logger.info("## dt1.getTime() > dt2.getTime() ----> return 0;");
//return 0;
//}
}
};
Collections.sort(list, comp);
} else {// 升序
Comparator<Object> comp = new Comparator<Object>() {
public int compare(Object o1, Object o2) {
MessageVo p1 = (MessageVo) o1;
MessageVo p2 = (MessageVo) o2;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//showTime : 有效时间
String t1 = p1.getShowTime();
String t2 = p2.getShowTime();
Date dt1 = null;
Date dt2 = null;
try {
dt1 = sdf.parse(t1);
dt2 = sdf.parse(t2);
} catch (ParseException e) {
logger.error("CommonSearch.java conver time error :"+e.getMessage());
}
if (dt1.getTime() <= dt2.getTime()) {
return 1;
} else {
return 0;
}
}
};
Collections.sort(list, comp);
}
return list;
}