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

📅  最后修改于: 2022-05-13 01:54:28.578000             🧑  作者: Mango

Java中的 ZonedDateTime plus() 方法及示例

在 ZonedDateTime 类中,根据传递给它的参数,有两种类型的 plus() 方法。

plus(long amountToAdd, TemporalUnit 单位)

ZonedDateTime类的plus()方法,用于返回此日期时间的副本,其中添加了指定数量的单位。如果由于不支持单位或其他原因而无法添加数量,则会出现异常被抛出。

句法:

public ZonedDateTime plus(long amountToAdd,
                          TemporalUnit unit)

参数:此方法接受两个参数:

  • amountToAdd:添加到结果中的单位数量,可能为负数
  • unit:添加量的单位。

返回值:此方法基于此日期时间返回ZonedDateTime并添加指定的数量。

异常:此方法抛出以下异常:

  • DateTimeException : 如果无法添加。
  • UnsupportedTemporalTypeException :如果不支持该单位。
  • ArithmeticException : 如果发生数值溢出。

下面的程序说明了 plus() 方法:

方案一:

// Java program to demonstrate
// ZonedDateTime.plus() method
  
import java.time.*;
import java.time.temporal.ChronoUnit;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a ZonedDateTime object
        ZonedDateTime zonedlt
            = ZonedDateTime
                  .parse(
                      "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
  
        // add 30 Months to ZonedDateTime
        ZonedDateTime value
            = zonedlt.plus(30, ChronoUnit.MONTHS);
  
        // print result
        System.out.println("ZonedDateTime after"
                           + " adding Months: \n"
                           + value);
    }
}
输出:
ZonedDateTime after adding Months: 
2021-06-06T19:21:12.123+05:30[Asia/Calcutta]

plus(TemporalAmount amountToAdd)

ZonedDateTime类的plus()方法,用于返回此日期时间的副本,并将指定数量添加到日期时间。数量通常是 Period 或 Duration 但可以是实现 TemporalAmount 接口的任何其他类型。

句法:

public ZonedDateTime plus(TemporalAmount amountToAdd)

参数:此方法接受一个参数amountToAdd ,即要添加的数量,不应为空。

返回值:此方法根据添加的日期时间返回ZonedDateTime

异常:此方法抛出以下异常:

  • DateTimeException : 如果无法添加。
  • ArithmeticException : 如果发生数值溢出。

下面的程序说明了 plus() 方法:

方案一:

// Java program to demonstrate
// ZonedDateTime.plus() method
  
import java.time.*;
public class GFG {
    public static void main(String[] args)
    {
  
        // create a ZonedDateTime object
        ZonedDateTime zonedlt
            = ZonedDateTime
                  .parse(
                      "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
  
        // add 100 Days to ZonedDateTime
        ZonedDateTime value
            = zonedlt.plus(Period.ofDays(100));
  
        // print result
        System.out.println("ZonedDateTime after"
                           + " adding Days: \n"
                           + value);
    }
}
输出:
ZonedDateTime after adding Days: 
2019-03-16T19:21:12.123+05:30[Asia/Calcutta]

参考:

  • https://docs.oracle.com/javase/10/docs/api/java Java Java)
  • https://docs.oracle.com/javase/10/docs/api/java /time/ZonedDateTime.html#plus(long, Java Java)