1

私はこれを理解しようと一晩中過ごしてきましたが、私が試したことは何もうまくいかないようです. 会計年度が毎年 10/01 に始まるとします。たとえば、会計年度は 2012 年 10 月 1 日から始まり、今週は 30 週になります。適切な週番号を返すコードが見つからないようです。

私が得た最も近いものは、1 月から始まる週番号 16 を返す以下のコードです。

public String getCurrentWeek() {
        GregorianCalendar current = new GregorianCalendar(getCalendar().get(Calendar.YEAR),
            getCalendar().get(Calendar.MONTH), getCalendar().get(Calendar.DATE));

        return Integer.toString(current.get(Calendar.WEEK_OF_YEAR));
    }
4

1 に答える 1

4

私は信じている:

private static final int LENGTH_OF_WEEK = 7 * 24 * 60 * 60 * 1000;

public static int weekOf(Calendar yearStart, Calendar date) {
    long millisElapsed = date.getTimeInMillis() - yearStart.getTimeInMillis();
    int weeksElapsed = (int) (millisElapsed / LENGTH_OF_WEEK);
    return weeksElapsed + 1;
}

やるべきです。

于 2012-04-17T07:09:33.370 に答える