根据本周开始得到一个月的周 [英] Get weeks of the month depending on week start

查看:139
本文介绍了根据本周开始得到一个月的周的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是用我的应用程序自定义日历。我已经给了用户选项选择可能是一周的第一天:周六,周日,周一

我想在一个月的周数 - 这取决于当周开始,每周覆盖启动的默认值 - 周日

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆