-1

我有三个变量,我需要今年,一年前从现在开始,两年前从现在开始,使用 Java。像这样的东西会起作用吗?:

String DNRCurrentYear = new SimpleDateFormat("yyyy").format(new Date());

还是我需要将年份设为 aint才能减去一年,然后再减去两年?

我怎样才能得到当年减一,当年减二?

4

2 回答 2

10

您可以使用 Java 8Year类及其Year.minusYears()方法:

Year year = Year.now();
Year lastYear = year.minusYears(1);
// ...

要获得 int 值,您可以使用year.getValue(). 要获取字符串值,您可以使用year.toString().

于 2019-04-29T17:39:03.277 回答
7

使用LocalDateJava 8 中的类:

public static void main(String[] args) {
    LocalDate now = LocalDate.now();
    System.out.println("YEAR : " + now.getYear());

    LocalDate oneYearBeforeDate = now.minus(1, ChronoUnit.YEARS);
    System.out.println("YEAR : " + oneYearBeforeDate.getYear());

    LocalDate twoYearsBeforeDate = now.minus(2, ChronoUnit.YEARS);
    System.out.println("YEAR : " + twoYearsBeforeDate.getYear());
}

输出:

YEAR : 2019
YEAR : 2018
YEAR : 2017
于 2019-04-29T17:40:09.063 回答