java 年月跨度_判断两个日期的跨度是否超过一年(12个月)
时间: 2023-12-21 19:06:31 浏览: 96
java实现两个时间相差的年月日 (相差几年几天几日的结果)
5星 · 资源好评率100%
可以使用 Java 中的 LocalDate 类来判断两个日期的年月跨度。具体做法是,先将两个日期转换为 LocalDate 类型,然后通过 getYear 和 getMonthValue 方法获取年份和月份,最后计算它们之间的差距。代码示例如下:
```java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class DateUtil {
public static boolean isYearMonthSpanMoreThanOneYear(String dateStr1, String dateStr2) {
LocalDate date1 = LocalDate.parse(dateStr1);
LocalDate date2 = LocalDate.parse(dateStr2);
long yearSpan = ChronoUnit.YEARS.between(date1, date2);
long monthSpan = ChronoUnit.MONTHS.between(date1, date2) % 12;
return yearSpan > 1 || (yearSpan == 1 && monthSpan >= 0);
}
}
```
该方法接受两个字符串类型的日期参数,返回一个布尔值,表示两个日期的年月跨度是否超过一年。其中,yearSpan 表示两个日期之间的年份差距,monthSpan 表示两个日期之间的月份差距,但是需要将年份差距减去月份差距的整数倍,以避免跨度被误判。最后,判断年份差距是否大于 1 年,或者等于 1 年且月份差距是否大于等于 0。
阅读全文