[英]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.