根据周开始获取每月的周数
我在我的应用程序中使用自定义日历.我让用户可以选择一周的第一天,这可能是:Saturday, Sunday, Monday
I am using a custom calendar in my app. I have given the users option to select the first day of the week which could be: Saturday, Sunday, Monday
我想获取一个月中的周数 - 取决于一周的开始时间,覆盖周开始的默认值 - Sunday
.
I want to get the number of weeks in a month - depending on when the week starts, overriding the default value of week start - Sunday
.
代码:
public int getWeeksOfMonth(int year, int month) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, month-1);
calendar.set(Calendar.YEAR, year);
int numOfWeeksInMonth = calendar.getActualMaximum(Calendar.WEEK_OF_MONTH);
return numOfWeeksInMonth;
}
推荐答案
试试
calendar.setFirstDayOfWeek(Calendar.MONDAY); //sets first day to monday, for example.
在您的情况下,您可能想要这样做:
In your case you might want to do this:
public int getWeeksOfMonth(int year, int month, int weekStart) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, month-1);
calendar.set(Calendar.YEAR, year);
calendar.setFirstDayOfWeek(weekStart);
int numOfWeeksInMonth = calendar.getActualMaximum(Calendar.WEEK_OF_MONTH);
return numOfWeeksInMonth;
}
并用一行如
int weeks = getWeeksOfMonth(2012, 5, Calendar.WEDNESDAY);
相关文章