📅  最后修改于: 2023-12-03 15:01:51.970000             🧑  作者: Mango
在Java 8中,引入了新的日期时间API,其中ChronoZonedDateTime
代表一个不依赖于具体时区的日期时间对象。plus(TemporalAmount)
方法可以在当前日期时间上加上一个持续时间,并返回一个新的对象。
public ChronoZonedDateTime<D> plus(TemporalAmount amount)
该方法返回在当前日期时间之后添加指定持续时间后的新ChronoZonedDateTime
。
amount
- 在当前日期时间上添加的持续时间一个新的ChronoZonedDateTime
对象,它表示在指定持续时间之后的日期时间。
import java.time.*;
import java.time.temporal.*;
public class ChronoZonedDateTimeDemo {
public static void main(String[] args) {
// 创建一个当前日期时间对象
ChronoZonedDateTime<LocalDate> czdt = ChronoZonedDateTime.from(ZonedDateTime.now());
// 加上1天
ChronoZonedDateTime<LocalDate> czdt1 = czdt.plus(Duration.ofDays(1));
System.out.println("加上1天后的日期时间:" + czdt1);
// 加上1小时
ChronoZonedDateTime<LocalDate> czdt2 = czdt.plus(Duration.ofHours(1));
System.out.println("加上1小时后的日期时间:" + czdt2);
// 加上1个月
ChronoZonedDateTime<LocalDate> czdt3 = czdt.plus(Period.ofMonths(1));
System.out.println("加上1个月后的日期时间:" + czdt3);
// 加上1年2个月3天
ChronoZonedDateTime<LocalDate> czdt4 = czdt.plus(Period.of(1, 2, 3));
System.out.println("加上1年2个月3天后的日期时间:" + czdt4);
}
}
输出:
加上1天后的日期时间:2021-03-24T09:46:22.680658+08:00[Asia/Shanghai]
加上1小时后的日期时间:2021-03-23T10:46:22.680658+08:00[Asia/Shanghai]
加上1个月后的日期时间:2021-04-23T09:46:22.680658+08:00[Asia/Shanghai]
加上1年2个月3天后的日期时间:2022-06-26T09:46:22.680658+08:00[Asia/Shanghai]
以上示例演示了加上不同类型的持续时间对日期时间的影响。可以通过传递Duration
或Period
对象来加上不同类型的持续时间,产生一个新的ChronoZonedDateTime
对象。