Java ZonedDateTime minus()方法及示例

Java ZonedDateTime minus()方法及示例

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

minus(long amountTosubtract, TemporalUnit unit)

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

public ZonedDateTime minus(long amountToSubtract,
                           TemporalUnit unit)

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

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

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

  • DateTimeException :如果不能做减法。
  • UnsupportedTemporalTypeException : 如果单位不被支持。
  • ArithmeticException :如果发生数字溢出。

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

程序1:

// 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);
    }
}

输出

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

minus(TemporalAmount amountTosubtract)

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

语法:

public ZonedDateTime minus(TemporalAmount amountTosubtract)

参数: 该方法接受一个单参数 amountTosubtract ,它是要减去的金额,它不应该是空的。
返回值: 该方法返回基于该日期时间的 ZonedDateTime ,并做了减法,不是空的
异常: 该方法抛出以下异常:

  • DateTimeException :如果不能做减法</li

  • ArithmeticException :如果发生数字溢出。

以下程序说明了minus()方法:

程序1:

// 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/time/ZonedDateTime.html#minus(java.time.temporal.TemporalAmount)
  • https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#minus(long, java.time.temporal.TemporalUnit)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程