LocalDateTime.now().minus(
时间: 2025-03-06 13:33:12 浏览: 78
### Java `LocalDateTime.now().minus()` 方法使用示例及参数
`LocalDateTime.now().minus()` 是用于执行日期时间减法操作的方法。此方法允许从当前的时间实例中减去指定的时间量,返回一个新的表示调整后时间的对象。
#### 参数说明
该方法接受一个或多个参数,这些参数可以是单独的时间单位(如日、小时等),也可以是一个由多种时间单位组合而成的周期对象:
- **temporal amount to subtract**: 可以是单个时间单位 (ChronoUnit.DAYS, ChronoUnit.HOURS),或者是 Duration 或 Period 对象。
当调用 `.now().minus()` 时,通常会传入两个类型的参数之一:一个是枚举类 `ChronoUnit` 的成员变量来指定期望减少的具体时间段;另一个则是通过创建 `Period` 或者 `Duration` 实例来进行更复杂的运算[^1]。
#### 使用示例
下面给出几个具体的例子展示如何利用这个函数实现不同的功能需求:
```java
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
// 减少一天的例子
LocalDateTime yesterday = LocalDateTime.now().minus(1, ChronoUnit.DAYS);
// 减少两分钟的例子
LocalDateTime twoMinutesAgo = LocalDateTime.now().minus(2L, ChronoUnit.MINUTES);
```
对于更加复杂的情况,比如想要同时减少多于一种类型的时间间隔,则可以通过链式调用来完成:
```java
// 同时减少三天和四个小时
LocalDateTime adjustedTime = LocalDateTime.now()
.minusDays(3)
.minusHours(4);
```
另外还可以直接传递 `Period` 和 `Duration` 类型作为参数给 minus 方法来做更为灵活的操作:
```java
import java.time.Duration;
import java.time.Period;
// 创建一个持续时间为两天三小时四十五秒的 duration 并从中扣除
Duration dur = Duration.ofDays(2).plusHours(3).plusSeconds(45);
LocalDateTime resultAfterMinusDur = LocalDateTime.now().minus(dur);
// 创建一个期间为一年两个月十天并从中扣除
Period per = Period.ofYears(1).ofMonths(2).ofDays(10);
LocalDateTime resultAfterMinusPer = LocalDateTime.now().minus(per);
```
以上就是关于 `LocalDateTime.now().minus()` 方法的一些基本介绍以及实际应用中的几种常见场景.
阅读全文
相关推荐

















