📜  Java中的 LocalDate minusYears() 方法及示例

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

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)