我有3个需要使用本年度的变量,分别是从现在开始的一年前和从现在开始的两年前。这样的事情行得通吗?:
String DNRCurrentYear = new SimpleDateFormat("yyyy").format(new Date());
还是我需要将年份设为int
才能减去一年然后再减去两年?
我如何获得当年减去一年,当年减去两年?
答案 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