3 回答
TA贡献1862条经验 获得超7个赞
从以下文档Date#getYear():
返回一个值,该值是从包含或以此 Date 对象表示的时刻开始的年份减去 1900 的结果,如本地时区所解释的那样。
因此,您必须添加1900才能获得正确的年份(在@BorisTheSpider 在他的评论中指出的缺陷旁边)。但是有一个更好的方法,使用新的java.timeapi 替换旧的Dateapi:
LocalDate d = LocalDate.now();
for (int i = 0; i <= 5; i++) {
System.out.println(d.getYear());
d = d.minusYears(1);
}
哪个打印:
2019
2018
2017
2016
2015
2014
TA贡献1810条经验 获得超4个赞
试试这个:
LocalDate date = LocalDate.now();
int yearNow = date.getYear();
int minYear = yearNow - 5;
while(yearNow >= minYear) {
System.out.println(yearNow--);
}
TA贡献1772条经验 获得超8个赞
使用日历:
Calendar calendar = Calendar.getInstance();
for (int i = 0; i <= 5; i++) {
System.out.println(calendar.get(Calendar.YEAR) - i);
}
添加回答
举报