2013-08-17 25 views
0

我需要在方法集中設置一些日子。我嘗試使用: c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);如何在Calendar上設置一些日期.DAY_OF_WEEK

但以這種方式設置只有星期三。

謝謝你,對不起我的英文:)

+0

你能提供更多關於你打算做什麼的信息嗎? 'java.util.Calendar'不像Google日曆或類似的東西,它只是一個給定的日期時間(也許這就是信息的來源)。 – SJuan76

回答

1

Calendar因爲你希望它不起作用。根據JavaDoc:

Calendar類是一個抽象類,它提供在時間 特定的瞬間之間的轉換的方法和一組日曆的 領域,如年,月,DAY_OF_MONTH,HOUR,等等,併爲 操縱日曆字段,例如獲取下一個周的日期 。即時時間可以用毫秒值 來表示,該值是從1970年1月1日00:00:00:00格林高利時代的格林高利時代的偏移。

請注意,文檔指出specific instant in time。這意味着Calendar只能基於從時代開始的一個時間點。

當您使用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); 
    } 
} 
+0

謝謝,我能用不同的方式達到目的嗎? – Maxim

+0

非常感謝! – Maxim

+0

@Maxim很高興我能幫忙! –

相關問題