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

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

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

在 ZonedDateTime 类中,有两种类型的 minus() 方法,具体取决于传递给它的参数。

减(long amountTosubtract, TemporalUnit unit)

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

public ZonedDateTime minus(long amountToSubtract,
                           TemporalUnit unit)

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

  • amountToSubtract:这是要减去结果的单位数量,可能为负数
  • 单位:这是要减去的金额的单位。

返回值:此方法根据该日期时间减去指定的数量返回ZonedDateTime
异常:此方法抛出以下异常:

  • DateTimeException : 如果不能进行减法,
  • UnsupportedTemporalTypeException :如果不支持该单位。
  • ArithmeticException : 如果发生数值溢出。

下面的程序说明了 minus() 方法:
方案一:

Java
// Java program to demonstrate
// ZonedDateTime.minus() 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]");
 
        // subtract 30 Months to ZonedDateTime
        ZonedDateTime value
            = zonedlt.minus(30, ChronoUnit.MONTHS);
 
        // print result
        System.out.println("ZonedDateTime after"
                           + " subtracting Months:\n "
                           + value);
    }
}


Java
// Java program to demonstrate
// ZonedDateTime.minus() 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]");
 
        // subtract 10 Days to ZonedDateTime
        ZonedDateTime value
            = zonedlt.minus(Period.ofDays(10));
 
        // print result
        System.out.println("ZonedDateTime after"
                           + " subtracting Days:\n "
                           + value);
    }
}


输出:
ZonedDateTime after subtracting Months:
 2016-06-06T19:21:12.123+05:30[Asia/Calcutta]

减(TemporalAmount amountTosubtract)

ZonedDateTime类的minus()方法用于返回此日期时间的副本,其中指定的金额减去日期时间。金额通常是 Period 或 Duration 但可以是实现 TemporalAmount 接口的任何其他类型。
句法:

public ZonedDateTime minus(TemporalAmount amountTosubtract)

参数:此方法接受一个参数amountTosubtract ,它是要减去的数量,它不应该为空。
返回值:此方法基于此日期时间加上减法返回ZonedDateTime ,不为空
异常:此方法抛出以下异常:

  • DateTimeException : 如果不能做减法
  • ArithmeticException : 如果发生数值溢出

下面的程序说明了 minus() 方法:
方案一:

Java

// Java program to demonstrate
// ZonedDateTime.minus() 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]");
 
        // subtract 10 Days to ZonedDateTime
        ZonedDateTime value
            = zonedlt.minus(Period.ofDays(10));
 
        // print result
        System.out.println("ZonedDateTime after"
                           + " subtracting Days:\n "
                           + value);
    }
}
输出:
ZonedDateTime after subtracting Days:
 2018-11-26T19: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#minus(long, Java Java)