0

I need to set some days in method set. I try to use:

c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);

but with this way set only Wednesday.

Thank you and sorry for my english :)

4

2 に答える 2

1

Calendarが期待どおりに機能しない。JavaDoc から:

Calendar クラスは、特定の時点と、YEAR、MONTH、DAY_OF_MONTH、HOUR などのカレンダー フィールドのセットとの間の変換、および日付の取得などのカレンダー フィールドの操作を行うためのメソッドを提供する抽象クラスです。翌週の。瞬間は、エポック、1970 年 1 月 1 日 00:00:00.000 GMT (グレゴリオ暦) からのオフセットであるミリ秒値で表すことができます。

ドキュメントにはspecific instant in time. これはCalendar、エポックからの 1 つの時点にのみ基づくことができることを意味します。

メソッドを使用する場合、各呼び出しsetを調整しています。specific instant in timeしたがって、最初に月曜日に設定され、次に水曜日に設定されます。

を使用して、希望する日に設定された複数のインスタンスList<Calendar>を保存できます。Calendar

public class CalendarTest {
    public static void main(String[] args) {
        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();
        cal1.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        cal2.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);

        List<Calendar> calendars = Arrays.asList(cal1, cal2);
    }
} 
于 2013-08-17T22:50:54.837 に答える