Java Looping 年从现在到后面

我尝试使用格式时间/日期进行循环,但我坚持使用它


所以我想循环一年,从现在(2019 年到 5 年前)。


Date d = new Date();

long tahun = d.getYear();

long hitung = tahun - 5;


for (long i = tahun; i >= hitung; i--) {

 d = new Date(tahun);

 d.getYear()

}

实际上我希望这样的输出:2019 2018 2017 2016 2015 2014


翻阅古今
浏览 129回答 3
3回答

牧羊人nacy

从以下文档Date#getYear():返回一个值,该值是从包含或以此 Date 对象表示的时刻开始的年份减去 1900 的结果,如本地时区所解释的那样。因此,您必须添加1900才能获得正确的年份(在@BorisTheSpider 在他的评论中指出的缺陷旁边)。但是有一个更好的方法,使用新的java.timeapi 替换旧的Dateapi:LocalDate d = LocalDate.now();for (int i = 0; i <= 5; i++) {&nbsp; &nbsp; System.out.println(d.getYear());&nbsp; &nbsp; d = d.minusYears(1);}哪个打印:201920182017201620152014

慕莱坞森

试试这个:LocalDate date = LocalDate.now();int yearNow = date.getYear();int minYear = yearNow - 5;while(yearNow >= minYear) {&nbsp; &nbsp; System.out.println(yearNow--);}

料青山看我应如是

使用日历:Calendar calendar = Calendar.getInstance();&nbsp; &nbsp;for (int i = 0; i <= 5; i++) {&nbsp; &nbsp; System.out.println(calendar.get(Calendar.YEAR) - i);}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java