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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值