java 获取指定月份为多少天

简介: java 获取指定月份为多少天

根据传入的字符串,比如 202303,获取该月份有多少天

@Test
  public void getLastDayOfMonth() {
    String yearMonth = "202303";
    String year = yearMonth.substring(0,4);
    String month = yearMonth.substring(4,6);
    Calendar cal = Calendar.getInstance();
      //年
      cal.set(Calendar.YEAR, Integer.parseInt(year));
      //月,因为Calendar里的月是从0开始,所以要-1
      cal.set(Calendar.MONTH, Integer.parseInt(month) - 1);
      //日,设为一号
      cal.set(Calendar.DATE, 1);
      //月份加一,得到下个月的一号
      cal.add(Calendar.MONTH,1);
      //下一个月减一为本月最后一天
      cal.add(Calendar.DATE, -1);
      String monthEnd = String.valueOf(cal.get(Calendar.DAY_OF_MONTH));//获得月末是几号
      System.out.println(year+month+",获得本月月末:" + monthEnd);
  }

运行结果

202303,获得本月月末:31


相关文章
|
5月前
|
Java
比较两个日期是否相等Java
这篇文章提供了Java中比较两个日期是否相等的两种方法:使用`Calendar`类和`SimpleDateFormat`类来确定两个日期是否为同一天,并附有详细的代码示例和测试结果。
|
5月前
|
Java
Java 获取当前天是一年中的第几天
Java 获取当前天是一年中的第几天
62 0
|
8月前
|
Java 编译器 程序员
Java一周总结
Java一周总结
|
Java Unix API
JAVA8新日期
在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题。故此,Java8引入了一套全新的日期时间处理API,新的API基于ISO标准日历系统。在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题。
80 0
java202302java学习笔记第一天-数据类型讲解2
java202302java学习笔记第一天-数据类型讲解2
76 0
java202302java学习笔记第一天-数据类型讲解2
java202302java学习笔记第一天-数据类型讲解1
java202302java学习笔记第一天-数据类型讲解1
200 0
java202302java学习笔记第一天-数据类型讲解1
java202302java学习笔记第一天-数据类型讲解3
java202302java学习笔记第一天-数据类型讲解3
61 0
java202302java学习笔记第一天-数据类型讲解3
java中获取当前系统日期
java中获取当前系统日期
|
算法 安全 Java
JAVA学习第一天
JAVA学习第一天
69 0
|
Java
在 Java 中如何比较日期?
在 Java 中有多种方法可以比较日期,日期在计算机内部表示为(long型)时间点——自1970年1月1日以来经过的毫秒数。在Java中,Date是一个对象,包含多个用于比较的方法,任何比较两个日期的方法本质上都会比较日期的时间。
1561 0