获取当前年月日,判断当前月份有多少天,当月1号为星期几

Calendar calendar=Calendar.getInstance();
// 获取当前年份
mYear = calendar.get(Calendar.YEAR);
// 获取当前月份以(0开头,所以要+1)
mMonth = calendar.get(Calendar.MONTH);
// 获取当前为几号以(0开头)
mDay = calendar.get(Calendar.DAY_OF_MONTH);
判断这个月有多少天和这个月的1号是星期几

工具类

public class SpecialCalendar {

    /**
     * 判断是否是闰年
     */
    public boolean isLeapYear(int year){
        if (year % 100 == 0 && year % 400 == 0){
            return true;
        }else if (year % 100 != 0 && year % 4==0){
            return true;
        }
        return false;
    }

    /**
     * 得到某月多少天
     * 哈哈少儿口诀:1357810腊三十一天永不差,469冬三十日平年二月28,闰年再把一天加。
     */
    public int getDaysOfMonth(boolean isLeapYear,int month){
        int days=0;
        switch (month){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                days=31;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                days=30;
                break;
            case 2:
                if (isLeapYear){
                    days=29;
                }else{
                    days=28;
                }
        }
        return days;
    }

    /**
     * 得到某年某月一号是星期几  (0-6 日-六)
     */
    public int getWeekdayOfMonth( int mYear, int mMonth){
        Calendar cal=Calendar.getInstance();
        cal.set(mYear,mMonth,1);
        return cal.get(Calendar.DAY_OF_WEEK)-1;
    }

}

//把得到的年月放进去

SpecialCalendar specialCalendar=new SpecialCalendar();
boolean leapYear = specialCalendar.isLeapYear(mYear);  
int daysOfMonth = specialCalendar.getDaysOfMonth(leapYear, mMonth+1);  判断这个月有多少天
int weekdayOfMonth = specialCalendar.getWeekdayOfMonth(mYear, mMonth);  一号为星期几
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值