0

日曜日から始まる現在の週の日付を取得しようとしています。現在の日付は 2013 年 11 月 24 日で、日曜日です。現在の日付は 24 であるため、24、25 などを使用したいのですが、前の週を取得します。コードのどこが間違っていますか。

String[] days = new String[7];
DateFormat format = new SimpleDateFormat("dd-MM-yyyy");
            Calendar calendar1 = Calendar.getInstance();
            calendar1.setFirstDayOfWeek(Calendar.SUNDAY);
            calendar1.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
            for (int i = 0; i < 7; i++) {
                days[i] = format.format(calendar1.getTime());
                calendar1.add(Calendar.DAY_OF_MONTH, 1);
                Log.v("datessssssssss", days[i]);
            }

それは次の日を与えます。

11-24 15:16:41.324: V/datessssssssss(12256): 17-11-2013
    11-24 15:16:41.324: V/datessssssssss(12256): 18-11-2013
    11-24 15:16:41.324: V/datessssssssss(12256): 19-11-2013
    11-24 15:16:41.324: V/datessssssssss(12256): 20-11-2013
    11-24 15:16:41.324: V/datessssssssss(12256): 21-11-2013
    11-24 15:16:41.324: V/datessssssssss(12256): 22-11-2013
    11-24 15:16:41.324: V/datessssssssss(12256): 23-11-2013
4

1 に答える 1

3

これを試して

    // Get calendar set to current date and time
        Calendar c = Calendar.getInstance();

        // Set the calendar to Sunday of the current week
        c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

        // Print dates of the current week starting on Sunday
        DateFormat df = new SimpleDateFormat("EEE dd/MM/yyyy");
        for (int i = 0; i < 7; i++) {
            System.out.println(df.format(c.getTime()));
            c.add(Calendar.DATE, 1);
        }

出力は

10-24 15:35:17.070: I/System.out(26150): Sun 20/10/2013
10-24 15:35:17.070: I/System.out(26150): Mon 21/10/2013
10-24 15:35:17.080: I/System.out(26150): Tue 22/10/2013
10-24 15:35:17.080: I/System.out(26150): Wed 23/10/2013
10-24 15:35:17.080: I/System.out(26150): Thu 24/10/2013
10-24 15:35:17.080: I/System.out(26150): Fri 25/10/2013
10-24 15:35:17.080: I/System.out(26150): Sat 26/10/2013
于 2013-10-24T10:06:58.020 に答える