簡體   English   中英

java.util.calendar表現奇怪

[英]java.util.calendar behaving strange

因此,我找到了java.util.Calendar,並嘗試將其用於我正在開發的android項目。

我完全不了解Calendar.DAY_OF_WEEK如何在星期四返回7。 現在是8月Calendar.WEEK_OF_YEAR返回4,這根本沒有任何意義!

我也嘗試過GregorianCalendar,它給出的結果完全相同。

試圖找到有關它們如何計數的任何文檔,但是我什么也找不到。 似乎有一些非常明顯的東西,但是我只是找不到它!

我寫的代碼在這里:

    // Get if daily or weekly
    boolean daily;
    daily = getPrefs.getBoolean("checkbox_daily", false);
    String day = "0";
    if (daily){
        switch(GregorianCalendar.DAY_OF_WEEK){
            case GregorianCalendar.MONDAY:
                Do_stuff();
                break;
            case GregorianCalendar.TUESDAY:
                Do_stuff();
                break;
            case GregorianCalendar.WEDNESDAY:
                Do_stuff();
                break;
            case GregorianCalendar.THURSDAY:
                Do_stuff();
                break;
            case GregorianCalendar.FRIDAY:
                Do_stuff();
                break;
        }
    }

GregorianCalendar.DAY_OF_WEEK不變,

您需要calendarInstance.get(GregorianCalendar.DAY_OF_WEEK);

java.util.Calendar文檔:

日歷使用兩個參數定義了特定於語言環境的一周工作日:一周的第一天和第一周的最少天數(從1到7)。 這些數字是在構造Calendar時從語言環境資源數據中獲取的。 也可以通過設置其值的方法明確指定它們。

設置或獲取WEEK_OF_MONTH或WEEK_OF_YEAR字段時,日歷必須確定月份或年份的第一周作為參考點。 每月或每年的第一周定義為最早的7天時段,從getFirstDayOfWeek()開始,並且至少包含該月或一年中的getMinimalDaysInFirstWeek()天。 在第一周之前編號為...,-1、0的周; 編號為2、3,...的星期。 請注意,get()返回的歸一化編號可能不同。 例如,特定的Calendar子類可以將一年中第1周之前的一周指定為上一年的第n周。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM