java中Date类型的比较方法

Date中有after、before、equals方法来比较日期
如果A大于等于B,那么A.after(B)返回true,A.before(B)返回false
如果A小于等于B,那么A.after(B)返回false,A.before(B)返回true

    public static Date str2Date(final String str, String format) throws ParseException {
        if (null == str || "".equals(str)) {
            return null;
        }
        if (null == format || "".equals(format)) {
            format = DATE_FORMAT;
        }
        String dtStr = format.length() < str.length() ? str.substring(0, format.length()) : str;

        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sdf.setLenient(false);
        Date date = null;
        date = sdf.parse(dtStr);
        if (format == DEFAULT_FORMART || date2Str(date, format).equals(dtStr)) {
            return date;
        } else {
            throw new ParseException(str, 0);
        }
    }

    public static void main(String[] args) throws ParseException {
        System.out.println("2017年09月08日  after  2017年09月09日:"
                + DateUtils.str2Date("20170908").after(DateUtils.str2Date("20170909")));
        System.out.println("2017年09月09日  after  2017年09月09日:"
                + DateUtils.str2Date("20170909").after(DateUtils.str2Date("20170909")));
        System.out.println("2017年09月10日  after  2017年09月09日:"
                + DateUtils.str2Date("20170910").after(DateUtils.str2Date("20170909")));
        System.out.println("2017年09月08日  before 2017年09月09日:"
                + DateUtils.str2Date("20170908").before(DateUtils.str2Date("20170909")));
        System.out.println("2017年09月09日  before 2017年09月09日:"
                + DateUtils.str2Date("20170909").before(DateUtils.str2Date("20170909")));
        System.out.println("2017年09月10日  before 2017年09月09日:"
                + DateUtils.str2Date("20170910").before(DateUtils.str2Date("20170909")));
        System.out.println("2017年09月08日  equals 2017年09月09日:"
                + DateUtils.str2Date("20170908").equals(DateUtils.str2Date("20170909")));
        System.out.println("2017年09月08日  equals 2017年09月09日:"
                + DateUtils.str2Date("20170909").equals(DateUtils.str2Date("20170909")));
    }

输出结果

20170908after  20170909日:false
20170909after  20170909日:false
20170910after  20170909日:true
20170908before 20170909日:true
20170909before 20170909日:false
20170910before 20170909日:false
20170908equals 20170909日:false
20170908equals 20170909日:true
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值