11

指定された2つの日付の間のすべての月/年の名前が必要です。これはJavaでのみ出力する必要があります。

例 :

Input Date:

    date 1- 20/12/2011 
    date 2- 22/08/2012

Now ,my expected result should be :- 

        Dec/2011
        Jan/2012
        Feb/2012
        Mar/2012
        Apr/2012
        May/2012
        Jun/2012
        Jul/2012
        Aug/2012

誰か助けてくれませんか。前もって感謝します。

4

7 に答える 7

11

Joda -Time の使用 (指定されていないため、少なくとも joda 時間とは何かを確認できると思います) :

 LocalDate date1 = new LocalDate("2011-12-12");
 LocalDate date2 = new LocalDate("2012-11-11"); 
 while(date1.isBefore(date2)){
     System.out.println(date1.toString("MMM/yyyy"));
     date1 = date1.plus(Period.months(1));
 }
于 2012-08-22T09:12:18.500 に答える
10

Calendar クラスを使用するだけで、反復ごとに月を追加することで、ある日付から別の日付に反復できますusing myCalendar.add(Calendar.MONTH, 1);

Calendar クラスは、オーバーフローを回避し、他のフィールド (ここでは年) を更新します。

于 2012-08-22T08:44:52.903 に答える
4

上記の会話ごと。Calendar と add メソッドを使用します。

私はこれをテストしていませんが、それはそこにあります:

public static List<Date> datesBetween(Date d1, Date d2) {
    List<Date> ret = new ArrayList<Date>();
    Calendar c = Calendar.getInstance();
    c.setTime(d1);
    while (c.getTimeInMillis()<d2.getTime()) {
        c.add(Calendar.MONTH, 1);
        ret.add(c.getTime());
    }
    return ret;
}
于 2012-08-22T08:59:45.073 に答える
1

これを行う

 Calendar cal = Calendar.getInstance();
 cal.setTime(your_date_object);
 cal.add(Calendar.MONTH, 1);
于 2012-08-22T09:01:10.337 に答える
0
于 2018-09-21T03:53:16.810 に答える