java Android中比较两个时间的大小 before函数和after函数的使用

before:d1.before(d2) 只有d1在d2之前才返回true  否则false 相当于 d1 < d2
  after: d1.after(d2) 只有d1在d2之后才返回true  否则false  相当于 d1 > d2
  这两个函数在不使用!(非运算符)的情况下且单独使用时  均不包含=的情况(如<= >=)  
  除非对这两个函数足够了解 否则还是使用getTime()来进行时间的比较才更清晰明了

  测试代码:
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  Date d1 = sdf.parse("2019-5-28");
  Date d2 = sdf.parse("2019-5-28");
  System.out.println("d1=d2时,before函数:"+d1.before(d2));
  System.out.println("d1=d2时,after函数:"+d1.after(d2));
  d1 = sdf.parse("2019-5-28");
  d2 = sdf.parse("2019-5-29");
  System.out.println("d1<d2时,before函数:"+d1.before(d2));
  System.out.println("d1<d2时,after函数:"+d1.after(d2));
  d1 = sdf.parse("2019-5-28");
  d2 = sdf.parse("2019-5-27");
  System.out.println("d1>d2时,before函数:"+d1.before(d2));
  System.out.println("d1>d2时,after函数:"+d1.after(d2));

  测试结果如下:

  d1=d2时,before函数:false
  d1=d2时,after函数:false
  d1<d2时,before函数:true
  d1<d2时,after函数:false
  d1>d2时,before函数:false
  d1>d2时,after函数:true

使用:

/**
 * 比较当前时间和服务器返回时间大小
 *
 * @param nowDate
 * @param compareDate
 * @return
 */
public boolean compareDate(String nowDate, String compareDate) {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
    try {
        Date now = df.parse(nowDate);
        Date compare = df.parse(compareDate);
        if (now.before(compare)) {
            return true;
        } else {
            return false;
        }
    } catch (ParseException e) {
        e.printStackTrace();
        return false;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值