LocalDatetime时间相减
时间: 2023-10-28 17:57:36 浏览: 56
要计算两个 `LocalDateTime` 对象之间的时间差,可以使用 `Duration` 或 `Period` 类。这两个类都位于 `java.time` 包中。
如果你想计算两个 `LocalDateTime` 之间的时间差(以小时、分钟、秒等为单位),可以使用 `Duration`。示例如下:
```java
LocalDateTime startTime = LocalDateTime.of(2022, 1, 1, 10, 0, 0);
LocalDateTime endTime = LocalDateTime.of(2022, 1, 1, 12, 30, 0);
Duration duration = Duration.between(startTime, endTime);
long hours = duration.toHours();
long minutes = duration.toMinutes() % 60;
long seconds = duration.getSeconds() % 60;
System.out.println("时间差:" + hours + "小时 " + minutes + "分钟 " + seconds + "秒");
```
如果你想计算两个 `LocalDateTime` 之间的日期差(以天、月、年等为单位),可以使用 `Period`。示例如下:
```java
LocalDateTime startDate = LocalDateTime.of(2022, 1, 1, 0, 0, 0);
LocalDateTime endDate = LocalDateTime.of(2022, 1, 10, 0, 0, 0);
Period period = Period.between(startDate.toLocalDate(), endDate.toLocalDate());
int days = period.getDays();
int months = period.getMonths();
int years = period.getYears();
System.out.println("日期差:" + years + "年 " + months + "月 " + days + "天");
```
以上代码示例中,我们分别计算了两个 `LocalDateTime` 对象之间的时间差和日期差。你可以根据自己的需求进行调整。