0

だから、私はjava.util.Calendarを見つけて、私が取り組んでいるAndroidプロジェクトにそれを使用しようとしました。

木曜日のときに Calendar.DAY_OF_WEEK が 7 を返す方法がまったくわかりません。8 月のカレンダーになると、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;
        }
    }
4

2 に答える 2

8

GregorianCalendar.DAY_OF_WEEK一定であり、

あなたが必要calendarInstance.get(GregorianCalendar.DAY_OF_WEEK);

于 2013-08-22T18:59:04.633 に答える
1

java.util.Calendarドキュメントから:

Calendar は、週の最初の日と最初の週の最小日数 (1 から 7) の 2 つのパラメーターを使用して、ロケール固有の週 7 日を定義します。これらの数値は、Calendar の作成時にロケール リソース データから取得されます。また、値を設定するメソッドを使用して明示的に指定することもできます。

WEEK_OF_MONTH または WEEK_OF_YEAR フィールドを設定または取得する場合、Calendar はその月または年の最初の週を基準点として決定する必要があります。月または年の最初の週は、getFirstDayOfWeek() で始まり、その月または年の少なくとも getMinimalDaysInFirstWeek() 日を含む最も早い 7 日間として定義されます。...、-1、0 の番号が付けられた週は、最初の週に先行します。2、3、...と番号が付けられた週に続きます。get() によって返される正規化された番号付けは異なる場合があることに注意してください。たとえば、特定の Calendar サブクラスは、年の第 1 週の前の週を前年の第 n 週として指定する場合があります。

于 2013-08-22T19:03:29.560 に答える