java 1.7 判断时间跨度是否在3个月内 精确到秒
时间: 2024-09-23 11:04:58 浏览: 35
在Java 1.7中,判断两个日期之间的时间跨度是否在三个月内,并精确到秒,可以使用`java.util.Calendar`或`java.time`包下的API。这里我们使用`java.time`包更现代一些:
```java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class DateUtil {
public static boolean isWithinThreeMonths(LocalDate startDate, LocalDate endDate) {
return ChronoUnit.MONTHS.between(startDate, endDate) <= 3 && startDate.plusMonths(3).isAfter(endDate);
}
// 示例:
public static void main(String[] args) {
LocalDate now = LocalDate.now();
LocalDate startDate = now.minusMonths(3); // 三个月前
LocalDate endDate = now; // 当前日期
if (isWithinThreeMonths(startDate, endDate)) {
System.out.println("时间跨度在三个月内");
} else {
System.out.println("时间跨度超过三个月");
}
}
}
```
在这个例子中,`ChronoUnit.MONTHS.between()`计算两个日期之间的月份数量,而`startDate.plusMonths(3).isAfter(endDate)`检查加上三个月后的日期是否仍在当前日期之后,用于排除边界情况。
阅读全文