方便的方式生成年份的日期

Ech*_*cho 0 java

我想问一下,在特定年份创建日期列表以保存今年日期的最合适方式是什么.

我写了以下内容并且工作正常.但是,我不确定这是最便捷的方式.

        Calendar cal = new GregorianCalendar(2012, Calendar.JANUARY, 1);
        Date startDate = cal.getTime();

        cal = new GregorianCalendar(2013, Calendar.JANUARY, 1);
        Date endDate = cal.getTime();


        List<Date> dates = new ArrayList<Date>();
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(startDate);

        while (calendar.getTime().before(endDate)) {
            Date date= calendar.getTime();
            dates.add(date);
            calendar.add(Calendar.DATE, 1);
        }
Run Code Online (Sandbox Code Playgroud)

rth*_*sen 5

你可以简化一下:

int startYear = 2012;
int endYear = 2013;

Calendar cal = new GregorianCalendar(startYear, Calendar.JANUARY, 1);
ArrayList<Date> dates = new ArrayList<Date>();
while(cal.get(Calendar.YEAR) < endYear){
    dates.add(cal.getTime());
    cal.add(Calendar.DATE, 1);
}
Run Code Online (Sandbox Code Playgroud)