Java中的 ChronoZonedDateTime minus(long, TemporalUnit) 方法及示例
ChronoZonedDateTime接口的minus()方法用于返回此日期时间的副本,其中减去指定的单位数量。如果由于不支持单位或其他原因而无法减去该数量,则会出现异常被抛出。
句法:
default ChronoZonedDateTime minus(long amountToSubtract,
TemporalUnit unit)
参数:此方法接受两个参数:
- amountToSubtract:这是要减去结果的单位数量,可能为负数
- 单位:这是要减去的金额的单位。
返回值:此方法基于此日期时间减去指定的数量返回ChronoZonedDateTime 。
异常:此方法抛出以下异常:
- DateTimeException : 如果不能进行减法,
- UnsupportedTemporalTypeException :如果不支持该单位。
- ArithmeticException : 如果发生数值溢出。
下面的程序说明了 minus() 方法:
方案一:
// Java program to demonstrate
// ChronoZonedDateTime.minus() method
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.ChronoUnit;
public class GFG {
public static void main(String[] args)
{
// create a ChronoZonedDateTime object
ChronoZonedDateTime zonedlt
= ZonedDateTime
.parse(
"2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
// subtract 30 Months to ChronoZonedDateTime
ChronoZonedDateTime value
= zonedlt.minus(30, ChronoUnit.MONTHS);
// print result
System.out.println("ChronoZonedDateTime after"
+ " subtracting Months:\n "
+ value);
}
}
输出:
ChronoZonedDateTime after subtracting Months:
2016-06-06T19:21:12.123+05:30[Asia/Calcutta]
参考: https://docs.oracle.com/javase/9/docs/api/ Java/time/chrono/ChronoZonedDateTime.html#minus-long-java.time.temporal.TemporalUnit-