当前位置: 代码迷 >> java >> 从现在到现在的Java循环年
  详细解决方案

从现在到现在的Java循环年

热度:81   发布时间:2023-08-02 11:00:31.0

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

所以我想从现在(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

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

使用日历:

Calendar calendar = Calendar.getInstance();   
for (int i = 0; i <= 5; i++) {
    System.out.println(calendar.get(Calendar.YEAR) - i);
} 

试试这个:

LocalDate date = LocalDate.now();
int yearNow = date.getYear();
int minYear = yearNow - 5;

while(yearNow >= minYear) {
    System.out.println(yearNow--);
}

我的逻辑很低...我现在才明白,这很简单:

    int tahun = 2019;
    int hitung = tahun - 5;

    for (int i = tahun; i >= hitung; i--) {
        system.out.println(i)
    }

现在我只需要从Date.utils获取Years