Java财年周计数器

时间:2012-04-17 07:00:18

标签: java date

我一直都在努力解决这个问题,但我尝试的任何事情似乎都没有用。假设财政年度从每年的10月1日开始,例如,财政年度从2012年10月10日开始,使本周数字为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));
    }

1 个答案:

答案 0 :(得分:3)

我相信:

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

应该这样做。