繁体   English   中英

计算日期范围并返回true

[英]Calculate date range and return true

我想将2个日期与Java 8+进行比较,如果密码已超过45天,则返回false。 如果可能的话,所有内容都应该放在一行中,因为我想将其用于Spring Security。 这可能吗?

像这样:

boolean isExpired = password_changed_at.minusDays(45).isBefore(LocalDateTime.now());

编辑:

private boolean compareExpireDates(LocalDateTime password_changed_at) {

        long days_left = Duration.between(password_changed_at, LocalDateTime.now()).toDays();

        if (days_left > 45) {
            return false;
        } else {
            return true;
        }       
    }

是的,您采用的是正确的方法,如果持续时间天数大于45,则不需要在一条语句中使用任何if块返回true否则返回false 您还可以重构此方法以接受天数

private boolean compareExpireDates(LocalDateTime password_changed_at,long noOfDays) {

   return Duration.between(password_changed_at, LocalDateTime.now()).toDays()>noOfDays
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM