java 两个字符串日期差多少天|正则匹配日期

//计算两日期相差天数
    public static long DayDiff(String date1, String date2,String format) {
        if (null == date1 || null == date2) {
            return -1;
        }
        SimpleDateFormat formater = new SimpleDateFormat(format);

        long diff = 0;
        try {
            long d1 = formater.parse(date1).getTime();
            long d2 = formater.parse(date2).getTime();
            //diff=(Math.abs(d1-d2) / (1000 * 60 * 60 * 24));
            diff=(d2-d1)/(1000 * 60 * 60 * 24);

        } catch (ParseException e) {
            e.printStackTrace();
        }
        return diff;

    }

可以解决格式不标准的问题,如2012-2-3而不是2012-02-03,不会报错。

再记录一下如何在一个字符串中正则匹配多个日期:

            String patter="\\d{4}(\\-|\\/|.)\\d{1,2}\\1\\d{1,2}";
            Pattern p=Pattern.compile(patter);
            Matcher m1=p.matcher("需要匹配的字符串2019-8-7至2020-01-01");
//存储匹配出来的两个日期
            String[] date=new String[2];
            int i=0;
            while(m1.find()){
                date[i++]=m1.group();
            }
          

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值