1

私は7つの日付オブジェクトを追跡する必要があるクラスを持っています。1つは時間を保持する曜日ごとに1つです。

このようなカレンダーを設定して、Dateオブジェクトに割り当てます

Calendar cal = Calendar.getInstance();

cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,30);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);

Date FridayOpen = cal.getTime();

Log.i("Creation Day", String.valueOf(FridayOpen.toString()));

Log.i("Creation Day2", String.valueOf(FridayOpen.getDay()));

そしてLogCat結果は

Creation Day = Fri Dec 07 00:30:00 CST 2012

Creation Day2 = 5

金曜日が明らかに6日目で、日付オブジェクトに保存されているのに、なぜ5が返されるのですか?Calendar.DAY_OF_WEEK日付がずれていると切り替えられません。私はこのばかげた問題に何時間も費やしてきました。

4

2 に答える 2

3

日は0から6までなので。日曜日は0、土曜日は6。

編集 getDay()メソッドは非推奨の使用Calendar.get(Calendar.DAY_OF_WEEK)です。

于 2012-12-07T08:39:41.483 に答える
1

DateクラスのgetDayメソッドを参照してください:http://docs.oracle.com/javase/7/docs/api/java/util/Date.html#getDay%28%29

金曜日は5です

また、非推奨であるため、使用しないでください

于 2012-12-07T08:40:37.067 に答える