java判断当前日期是否在某个日期的30天内

项目需求,需要判断当今日期是否在数据库存储的日期30天内,有两种方案,
①直接拿两个日期的毫秒数相减,判断差是否大于30 * 24 * 60 * 60 * 1000;
②使用Calendar类,分别判断年月日的差值。

		Date lastTime = ##数据库中获取时间;
        //判断距今日时间是否超过30天
        Calendar last = Calendar.getInstance();
        Calendar now = Calendar.getInstance();
        last.setTime(lastTime);
		last.set(last.get(Calendar.YEAR),last.get(Calendar.MONTH),last.get(Calendar.DAY_OF_MONTH)+30,0,0,0);
        //last.add(Calendar.DAY_OF_MONTH,30);
        System.out.println(last.getTime());
        Integer yearGap = now.get(Calendar.YEAR) - last.get(Calendar.YEAR);
        if (yearGap != 0) {
            return yearGap>0;
        }
        Integer monthGap = now.get(Calendar.MONTH) - last.get(Calendar.MONTH);
        if (monthGap != 0) {
            return monthGap>0;
        }
        Integer dayGap = now.get(Calendar.DAY_OF_MONTH) - last.get(Calendar.DAY_OF_MONTH);
        return  dayGap >= 0;

Calendar类日期加减使用很方便,计算多少天后可以用add方法(上边注释代码)也可以用set方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值