获取变量的当前年份-Java

时间:2019-04-29 17:33:33

标签: java java-date java-calendar

我有3个需要使用本年度的变量,分别是从现在开始的一年前和从现在开始的两年前。这样的事情行得通吗?:

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

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

我如何获得当年减去一年,当年减去两年?

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:5)

使用Java 8中的 LocalDate 类:

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