📅  最后修改于: 2023-12-03 15:01:51.962000             🧑  作者: Mango
ChronoZonedDateTime
类是Java8新增的日期时间处理类,用于处理带有时区的日期时间。它是ZonedDateTime
的抽象父类,提供了一系列处理该类时间的方法。其中,minus(TemporalAmount)
方法可以在当前时间的基础上减去一段时间。
ChronoZonedDateTime<T> minus(TemporalAmount amountToSubtract)
该方法可以在当前时间的基础上减去指定的TemporalAmount
,返回一个新的ChronoZonedDateTime
对象。
amountToSubtract
: 需要减去的时间量,可以是Duration
、Period
等。// 获取当前时间
ChronoZonedDateTime<LocalDate> now1 = ChronoZonedDateTime.now(ZoneId.systemDefault());
System.out.println("当前时间:" + now1);
// 减去1小时
Duration duration = Duration.ofHours(1);
ChronoZonedDateTime<LocalDate> now2 = now1.minus(duration);
System.out.println("减去1小时后的时间:" + now2);
// 减去8天
Period period = Period.ofDays(8);
ChronoZonedDateTime<LocalDate> now3 = now1.minus(period);
System.out.println("减去8天后的时间:" + now3);
输出结果为:
当前时间:2021-12-14T15:26:16.458+08:00[Asia/Shanghai]
减去1小时后的时间:2021-12-14T14:26:16.458+08:00[Asia/Shanghai]
减去8天后的时间:2021-12-06T15:26:16.458+08:00[Asia/Shanghai]
上面的示例中,我们获取当前时间并输出。然后使用Duration
和Period
分别表示需要减去的时间量,并通过minus()
方法减去指定的时间量。最后输出减去时间量后的时间。