java 日期比较开始日期晚于截止日期,间隔超过30天

try {
            if (null != recordSingle && null != recordSingle.getStartTime() && null != recordSingle.getEndTime()) {
                Date startTime = recordSingle.getStartTime();
                Date endTime = recordSingle.getEndTime();
                // 定义日期格式
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                // 格式化日期
                String strStartTime = sdf.format(startTime);
                String strEndTime = sdf.format(endTime);


                String pattern = "yyyy-MM-dd HH:mm:ss";
                DateTimeFormatter formatterDate = DateTimeFormatter.ofPattern(pattern);
                LocalDateTime date1 = LocalDateTime.parse(strStartTime.trim(), formatterDate);
                LocalDateTime date2 = LocalDateTime.parse(strEndTime.trim(), formatterDate);
                if (date1.isAfter(date2)) {
                    return Result.error("生效日期晚于截止日期!");
                }

                // 获取两个日期对应的毫秒数
                long time1 = startTime.getTime();
                long time2 = endTime.getTime();
                // 计算两个日期的毫秒数差值
                long diff = Math.abs(time2 - time1);
                // 计算 30 天对应的毫秒数
                long thirtyDaysInMillis = 30L * 24 * 60 * 60 * 1000;
                // 判断差值是否在 30 天对应的毫秒数范围内
                boolean isWithin30Days = diff <= thirtyDaysInMillis;
                if (!isWithin30Days) {
                    return Result.error("截止日期不能超过生效日期30天,请重新录入日期!");
                }

            }
        } catch (Exception e) {

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值