根据本周开始得到一个月的周 [英] Get weeks of the month depending on week start
本文介绍了根据本周开始得到一个月的周的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是用我的应用程序自定义日历。我已经给了用户选项选择可能是一周的第一天:周六,周日,周一
我想在一个月的周数 - 这取决于当周开始,每周覆盖启动的默认值 - 周日
。
code:
公众诠释getWeeksOfMonth(INT年,月整型){
台历挂历= Calendar.getInstance();
calendar.set(的Calendar.MONTH,月-1);
calendar.set(Calendar.YEAR,年);
INT numOfWeeksInMonth = calendar.getActualMaximum(Calendar.WEEK_OF_MONTH); 返回numOfWeeksInMonth;
}
解决方案
尝试
calendar.setFirstDayOfWeek(Calendar.MONDAY); //设置首日星期一,例如。
在你的情况你可能想做到这一点:
公众诠释getWeeksOfMonth(INT年,月整型,诠释weekStart){
台历挂历= Calendar.getInstance();
calendar.set(的Calendar.MONTH,月-1);
calendar.set(Calendar.YEAR,年);
calendar.setFirstDayOfWeek(weekStart);
INT numOfWeeksInMonth = calendar.getActualMaximum(Calendar.WEEK_OF_MONTH); 返回numOfWeeksInMonth;
}
和调用与行中的方法,如
INT周= getWeeksOfMonth(2012,5,Calendar.WEDNESDAY);
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
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
.
Code:
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;
}
解决方案
Try
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;
}
And call the method with a line such as
int weeks = getWeeksOfMonth(2012, 5, Calendar.WEDNESDAY);
这篇关于根据本周开始得到一个月的周的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文