「java计算月数」JAVA日期计算

博主:adminadmin 2022-11-28 23:02:07 67

本篇文章给大家谈谈java计算月数,以及JAVA日期计算对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java计算两个时间之间多少个月

应该可以满足你的需求了

/**

*

* 计算两个日期相差的月份数

*

* @param date1 日期1

* @param date2 日期2

* @param pattern 日期1和日期2的日期格式

* @return 相差的月份数

* @throws ParseException

*/

public static int countMonths(String date1,String date2,String pattern) throws ParseException{

SimpleDateFormat sdf=new SimpleDateFormat(pattern);

Calendar c1=Calendar.getInstance();

Calendar c2=Calendar.getInstance();

c1.setTime(sdf.parse(date1));

c2.setTime(sdf.parse(date2));

int year =c2.get(Calendar.YEAR)-c1.get(Calendar.YEAR);

//开始日期若小月结束日期

if(year0){

year=-year;

return year*12+c1.get(Calendar.MONTH)-c2.get(Calendar.MONTH);

}

return year*12+c2.get(Calendar.MONTH)-c1.get(Calendar.MONTH);

}

Java里,如何得到一个月有多少天

按照你的要求,如何得到一个月有多少天,这里并没有说是什么年份,所以默认当年(不同年份的月份天数可能不一样,例如闰年的二月)

因此问题变为

输入条件:指定某一个月

输出结果:当年这个月份的天数

思路:在Java8里新的时间API里,月份已经被抽象成了枚举Month,所以可以把输入条件定义为枚举类型的Month,然后获取当前时间X,把时间X的月份修改为输入条件的月份,此时时间X变为X1,根据本身提供的方法lengthOfMonth就可以直接得到X1所在当月的天数了

代码:(请将JDK升到8)

public static void main(String[] args) {

    System.out.println(countDaysInMonth(Month.MAY));

}

public static int countDaysInMonth(Month month){

    // 获取当前时间

    LocalDate now = LocalDate.now();

    System.out.println(now);

    // 把当前时间的月份修改为输入的月份

    LocalDate thisMonthDate = now.withMonth(month.getValue());

    System.out.println(thisMonthDate);

    return thisMonthDate.lengthOfMonth();

}

也可以连着写,更美观点

public static int countDaysInMonth(Month month){

    return LocalDate.now()

                    .withMonth(month.getValue())

                    .lengthOfMonth();

}

非常直观且易懂好用,在Java8里with就代表着修改意思,withMonth那就是修改月份,所以整个代码读下来就变成

获取当前时间A

修改A的月份为输入条件得到时间B

计算B所在月的天数

java 计算某月有多少天

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

一个简单问题,Java里,如何得到一个月有多少天

给你2个方案:

方案1:

1、最简单的,就是定义一个数组,数组中[31,28,31,30.....]

2、然后取第几个月,直接通过月份的数字减去1做为下标来取上面的数组的数据就可以

3、2月份是特殊,所以如果取到2月份,加一个闰年判断

方案2:直接给你上代码吧,通过下面两个方法,你可以取到一个月的最后一天了,再把这天的日期格式化取最后2个数字出来,就是天数了

/**

* 得到当前月的最后一天

*

* @return

*/

public static Date getLastDayOfMonth(Date date) {

Calendar c = new GregorianCalendar();

c.setTime(date);

c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));

return toDate(c.getTime(),"yyyy-MM-dd");

}

/**

* add by chenxiaoping

*

* @字符串转日期

* @param strDate

* 字符串的日期

* @return Date 日期

*/

public static Date toDate(Date date, String strFormat) {

Date retDate = null;

SimpleDateFormat sdf = new SimpleDateFormat(strFormat);

try {

String str = sdf.format(date);

retDate = sdf.parse(str);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return retDate;

}

关于java计算月数和JAVA日期计算的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。