Java中的 LocalDate minusYears() 方法及示例
LocalDate类的minusYears()方法用于从此 LocalDate 中减去指定的年数并返回 LocalDate 的副本。
此方法通过以下步骤减去年份字段:
- 首先,它从 LocalDate 中的 year 字段中减去年份。
- 检查减去年份后的日期是否有效。
- 如果日期无效,则方法将日期调整为最后一个有效日期。
例如,2016-02-29(闰年)减去一年得出日期 2015-02-29,但这是无效结果,因此返回该月的最后一个有效日期 2015-02-28。此实例是不可变的,不受此方法调用的影响。
句法:
public LocalDate minusYears(long yearsToSubtract)
参数:此方法接受单个参数yearsToSubtract ,它表示要减去的年份,可能为负数。
返回值:此方法返回基于此日期减去年份的LocalDate ,而不是 null。
异常:如果结果超出支持的日期范围,此方法将引发DateTimeException 。
下面的程序说明了 minusYears() 方法:
方案一:
// Java program to demonstrate
// LocalDate.minusYears() method
import java.time.*;
public class GFG {
public static void main(String[] args)
{
// create a LocalDate object
LocalDate date
= LocalDate.parse("2020-10-22");
// print instance
System.out.println("LocalDate before"
+ " subtracting years:" + date);
// subtract 30 years
LocalDate returnvalue
= date.minusYears(30);
// print result
System.out.println("LocalDate after "
+ " subtracting years:" + returnvalue);
}
}
输出:
LocalDate before subtracting years:2020-10-22
LocalDate after subtracting years:1990-10-22
方案二:
// Java program to demonstrate
// LocalDate.minusYears() method
import java.time.*;
public class GFG {
public static void main(String[] args)
{
// create a LocalDate object
LocalDate date
= LocalDate.parse("2020-02-29");
// print instance
System.out.println("LocalDate before"
+ " subtracting years: " + date);
// subtract -21 years
LocalDate returnvalue
= date.minusYears(-21);
// print result
System.out.println("LocalDate after "
+ " subtracting years: " + returnvalue);
}
}
输出:
LocalDate before subtracting years: 2020-02-29
LocalDate after subtracting years: 2041-02-28
参考:
https://docs.oracle.com/javase/10/docs/api/java Java)