我一直都在努力解决这个问题,但我尝试的任何事情似乎都没有用。假设财政年度从每年的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));
}
答案 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;
}
应该这样做。