我尝试使用“时间/日期”格式进行循环播放,但我坚持使用它
所以我想从现在(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
答案 0 :(得分:4)
摘自Date#getYear()
的文档:
返回一个值,该值是从包含或由此日期对象表示的时间瞬间开始的年份中减去1900的结果,如当地时区所解释。
因此,您必须添加1900
才能获得正确的年份(紧随他的评论中指出的缺陷@BorisTheSpider)。但是有一种更好的方法,使用新的java.time
api代替旧的Date
api:
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
答案 1 :(得分:0)
使用日历:
Calendar calendar = Calendar.getInstance();
for (int i = 0; i <= 5; i++) {
System.out.println(calendar.get(Calendar.YEAR) - i);
}
答案 2 :(得分:0)
尝试这个:
LocalDate date = LocalDate.now();
int yearNow = date.getYear();
int minYear = yearNow - 5;
while(yearNow >= minYear) {
System.out.println(yearNow--);
}
答案 3 :(得分:0)
我的逻辑低下... 我现在才明白,这很简单:
int tahun = 2019;
int hitung = tahun - 5;
for (int i = tahun; i >= hitung; i--) {
system.out.println(i)
}
现在我只需要从Date.utils获取年份