`
hai0378
  • 浏览: 517119 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java中Comparator 时间比价 bug

 
阅读更多

/**

* 消息上架时间排序<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;

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics