LocalDateTime 获取a和b的之间的年月日
时间: 2024-09-30 13:03:03 浏览: 31
`LocalDateTime` 是 Java 中用于存储日期和时间的一个类,但它并不直接支持计算两个 `LocalDateTime` 对象之间的年、月、日差异。如果你想获取两个日期之间的精确年月日差值,你需要先将它们转换成 `Duration` 或者计算两者之间的时间间隔。
以下是使用 `java.time` 包中的 `Duration` 类来计算两个 `LocalDateTime` 之间差距的例子:
```java
import java.time.LocalDateTime;
import java.time.Duration;
public class Main {
public static void main(String[] args) {
LocalDateTime dateTimeA = LocalDateTime.of(2022, 1, 1, 0, 0);
LocalDateTime dateTimeB = LocalDateTime.of(2023, 5, 10, 12, 30);
// 计算两个日期之间的差值
Duration duration = Durations.between(dateTimeA, dateTimeB);
int years = duration.getYears();
int months = duration.getMonths();
int days = duration.getDays();
System.out.println("相差 " + years + " 年, " + months + " 个月, " + days + " 天");
}
}
```
在这个例子中,`Durations.between()` 函数会返回一个 `Duration` 实例,从中你可以提取出年份、月份和天数的数值。
阅读全文