为了账号安全,请及时绑定邮箱和手机立即绑定

Java Looping 年从现在到后面

Java Looping 年从现在到后面

翻阅古今 2022-06-23 20:39:08
我尝试使用格式时间/日期进行循环,但我坚持使用它所以我想循环一年,从现在(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
查看完整描述

3 回答

?
牧羊人nacy

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


查看完整回答
反对 回复 2022-06-23
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

试试这个:


LocalDate date = LocalDate.now();

int yearNow = date.getYear();

int minYear = yearNow - 5;


while(yearNow >= minYear) {

    System.out.println(yearNow--);

}


查看完整回答
反对 回复 2022-06-23
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

使用日历:


Calendar calendar = Calendar.getInstance();   

for (int i = 0; i <= 5; i++) {

    System.out.println(calendar.get(Calendar.YEAR) - i);


查看完整回答
反对 回复 2022-06-23
  • 3 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信