📌  相关文章
📜  Java中的 ChronoZonedDateTime plus(TemporalAmount) 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:51.970000             🧑  作者: Mango

Java中的 ChronoZonedDateTime plus(TemporalAmount) 方法及示例

在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]

以上示例演示了加上不同类型的持续时间对日期时间的影响。可以通过传递DurationPeriod对象来加上不同类型的持续时间,产生一个新的ChronoZonedDateTime对象。