0

今年の日付を保持するために、特定の年の日付のリストを作成する最も適切な方法は何ですか。

私は次のように書いていますが、うまくいきます。ただし、これが最も便利な方法かどうかはわかりません。

        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);
        }
4

2 に答える 2

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);
}
于 2012-07-30T00:31:59.850 に答える
0

Javaで2つの日付間の日付のリストを取得する方法と同様

Lammaを使用すると、日付範囲を簡単に作成できます。

    for (Date d: Dates.from(2014, 6, 29).to(2014, 7, 1).build()) {
        System.out.println(d);
    }

出力は次のとおりです。

Date(2014,6,29)
Date(2014,6,30)
Date(2014,7,1)
于 2014-06-11T18:23:09.993 に答える