0

ボタンをクリックするだけで終日表示したい。アクションは次のようになります。たとえば、月がFEB-2013であるとすると、ボタンを初めてクリックすると、この日が表示されます。

3/11/2013, 4/11/2013, 5/11/2013, 6/11/2013, 7/11/2013, 8/11/2013, 9/11/2013

2回目のボタンクリックでこんな感じで表示したい

10/11/2013, 11/11/2013, 12/11/2013, 13/11/2013, 14/11/2013, 15/11/2013, 16/11/2013

同様に、ボタンをクリックするたびに、残りの日をこの形式で表示したいと思います。だからそれをどのように行うことができるか、私はこのコードを試しましたが、それは表示されます

3/11/2013, 4/11/2013, 5/11/2013, 6/11/2013, 7/11/2013, 8/11/2013, 9/11/2013 

私が使用したコード

Calendar c = Calendar.getInstance();

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

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

2 に答える 2

1

c.add(Calendar.WEEK_OF_YEAR, week);あなたのものはほとんどそこにありました。入力パラメーターに基づいて週をインクリメントするために追加されました

public static void getDaysOfWeek(int week) {
    Calendar c = Calendar.getInstance();
    // Set the calendar to monday of the current week
    c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
    c.add(Calendar.DATE, week * 7);
    // Print dates of the current week starting on Monday
    DateFormat df = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
    for (int i = 0; i < 7; i++) {
        System.out.println(df.format(c.getTime()));
        c.add(Calendar.DAY_OF_MONTH, 1);
    }
}

上記のメソッドを使用して、曜日を取得します。メソッドに初めて 0 を渡し、次のクリックには 1 を渡すだけです。対応する曜日を取得します。

于 2013-02-08T06:41:08.170 に答える
0
public static void main(String[] args) {
    int next = 1;
    for(int i =0 ;i< 4 ;i++)
    weekOfGivenMonth(next++);
}

private static void weekOfGivenMonth(int weekNext) {

    Calendar c = Calendar.getInstance();

    c.set(Calendar.WEEK_OF_MONTH, weekNext);

    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);
    }

}

私があなたの要件として編集したこれを試してください。代わりにループを使用しました。ボタンを使用して、その月の第2、第3、第4週を呼び出す必要があります。

于 2013-02-08T07:08:57.867 に答える