java 计算某月有多少天

java 计算某月有多少天,第1张

这个题目的逻辑比较简单,先用数组记录出一年12个月每个月的天数,其中2月记录为28天,在判断当年是否是闰年,如果是闰年,将2月天数记录为29天,然后输入,例如数组month,输出month[m - 1],这就是这个月的天数了。

import javautilCalendar;

public class Main {

    public static void main(String[] args) {

        Systemoutprintln(countWorkDay(2018, 6));

    }

    /

      获取指定年月有多少工作日

     

      @param year

      @param month

      @return

     /

    public static int countWorkDay(int year, int month) {

        Calendar c = CalendargetInstance();

        cset(CalendarYEAR, year);

        // 月份是从0开始计算,所以需要减1

        cset(CalendarMONTH, month - 1);

        // 当月最后一天的日期

        int max = cgetActualMaximum(CalendarDAY_OF_MONTH);

        // 开始日期为1号

        int start = 1;

        // 计数

        int count = 0;

        while (start <= max) {

            cset(CalendarDAY_OF_MONTH, start);

            if (isWorkDay(c)) {

                count++;

            }

            start++;

        }

        return count;

    }

    // 判断是否工作日(未排除法定节假日,由于涉及到农历节日,处理很麻烦)

    public static boolean isWorkDay(Calendar c) {

        // 获取星期,1~7,其中1代表星期日,2代表星期一  7代表星期六

        int week = cget(CalendarDAY_OF_WEEK);

        // 不是周六和周日的都认为是工作日

        return week != CalendarSUNDAY && week != CalendarSATURDAY;

    }

}

import javautilDate;

import javatextSimpleDateFormat;

public class daysofmonth

{

public daysofmonth(){}//构造方法

public static void calculate(int m,int y)//知月份年份求月份天数的方法caluculate

{

if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)

Systemoutprintln(y+"年"+m+"月:"+"31天");

else if(m!=2)

Systemoutprintln(y+"年"+m+"月:"+"30天");

else if((y%4==0&&y%100!=0)||(y%400==0))

Systemoutprintln(y+"年"+m+"月:"+"29天");

else

Systemoutprintln(y+"年"+m+"月:"+"28天");

}

public static void main(String args[])

{

Date nowTime=new Date();//获取当前时间

SimpleDateFormat yearPattern=new SimpleDateFormat("yyyy");//获取字符串型年份的对象

SimpleDateFormat monthPattern=new SimpleDateFormat("MM");//获取字符串型月份的对象

int inty=IntegerparseInt(yearPatternformat(nowTime));//将当前年份转化为整型

int intm=IntegerparseInt(monthPatternformat(nowTime));//将当前月份转化为整型

int a[]=new int[7];//定义一个整型数组

a[0]=intm;

Systemoutprintln("当月之后半年内每月的天数:");

for(int i=1;i<7;i++)

{

if(a[i-1]==12)

{

a[i]=1;

inty=inty+1;

calculate(a[i],inty);

}

else

{

a[i]=a[i-1]+1;

calculate(a[i],inty);

}

}

}

}

以上就是关于java 计算某月有多少天全部的内容,包括:java 计算某月有多少天、java根据年月获取对应的月份工作日天数、请问JAVA中如计算之后3个月及半年每个月的天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9747767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存