1,Java8 LocalDate

    public static int getDaysOfMonth(String dateStr) {LocalDate date = LocalDate.parse(dateStr + "-01");return date.lengthOfMonth();}

2,利用日历函数

    public static int getDaysOfMonth(String dateStr) throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");Calendar calendar = Calendar.getInstance();calendar.setTime(sdf.parse(dateStr));return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);}

3,也是利用日历函数,但是不需要 throws ParseException

/*** 获取日期当月的天数* @param dateStr yyyy-MM 或者yyyy-MM-dd* */public static int getDaysByDate(String dateStr){int year= Integer.parseInt(dateStr.substring(0,4));int month=Integer.parseInt(dateStr.substring(5,7));Calendar c = Calendar.getInstance();c.set(year, month, 0);return c.get(Calendar.DAY_OF_MONTH);}

测试样例代码:

        String dateStr = "2023-01";int days = getDaysOfMonth(dateStr);System.out.println(dateStr + " has " + days + " days.");

4,当月剩余天数

 /*** 当月剩余天数* @param date 格式yyyy-MM-dd* */public static Integer monthEndNum(String date){SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");Date dateTime = null;try {dateTime = format.parse(date);} catch (ParseException e) {e.printStackTrace();}Calendar c = Calendar.getInstance();c.setTime(dateTime);int today = c.get(Calendar.DAY_OF_MONTH);int last = c.getActualMaximum(Calendar.DAY_OF_MONTH);return last - today;}public static void main(String[] args) {Integer days = monthEndNum("2023-01-20");System.out.println("2023年1月剩余天数:"+days);}

5,获取当前月天数

    //获取当前月的天数public static int getDaysOfCurrentMonth() {Calendar calendar = Calendar.getInstance();return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);}

java天数计算函数(当前月天数、某月总天数、某月剩余天数)4种方法实现相关推荐

  1. 使用switch-case来实现银行存款问题 计算存款利息。有N元,想存M年。有3种方法可选: (1)活期,年利率为r1 0.36% (2)一年期定期,年利率为r2 2.25% 从键盘获取存款年

    #include <stdio.h>int main() /* 使用switch-case来实现银行存款问题 计算存款利息.有N元,想存M年.有3种方法可选: (1)活期,年利率为r1 0 ...

  2. Oracle 天数计算函数

    Oracle 涉及天数计算的函数 第一种方式 ROUND(TO_NUMBER(TO_DATE('传入时间', 'yyyy-mm-dd hh24:mi:ss') - 数据库Date字段)) -- 说明 ...

  3. java mvc中重复提交表单,spring mvc 防止重复提交表单的两种方法,推荐第二种

    第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...

  4. java中domain什么意思_java解析URL中domain、端口和协议的两种方法

    java解析URL中domain.端口和协议的两种方法 Java代码 收藏代码 @Test public void parseDomain() throws IOException { for (in ...

  5. java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法

    标签: http://feifei.im/archives/93 ---------------------------------------------- 项目要用到doc转pdf的功能,一番go ...

  6. gets函数会读取回车吗_会做二次函数吗?用6种方法教你做二次函数(初中生不要错过)...

    二次函数难做吗?数学一直秉承着没有最难只有更难.今天就来教大家解决二次函数的各种问题吧! 类型一 等腰三角形的存在性问题 [方法指导] [典例精讲] 例 如图,直线y=x+3与x轴交于点A,与y轴交于 ...

  7. java用循环给map里面存值_Java中如何遍历Map对象的4种方法

    方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. 1 Map map = new HashMap();2 3 for ...

  8. java 读文件 二进制_JAVA中读取文件(二进制,字符)内容的几种方法总结

    JAVA中读取文件内容的方法有很多,比如按字节读取文件内容,按字符读取文件内容,按行读取文件内容,随机读取文件内容等方法,本文就以上方法的具体实现给出代码,需要的可以直接复制使用 public cla ...

  9. 如何实现一个函数,可以返回一个给定月份的英文名称。(两种方法)

    函数接口定义: char *getmonth( int n ); 函数getmonth应返回存储了n对应的月份英文名称的字符串头指针.如果传入的参数n不是一个代表月份的数字,则返回空指针NULL. 裁 ...

最新文章

  1. 部署和调优 1.5 vsftp部署和优化-1
  2. Redis五种数据类型及应用场景
  3. asp.net mvc中的后台验证
  4. 自动色彩均衡算法(ACE)原理及实现
  5. 淘淘商城系列——Redis的安装
  6. 十大排序算法Java版
  7. CRM客户关系管理系统需求分析文档
  8. Chapter 2 unit 2 of Bootstrap-Bootstrap CSS
  9. 通过IP获取地理位置的开放接口汇总
  10. DIV+CSS学习笔记总结篇
  11. 关于前端后台管理系统总结
  12. 强化学习 V.S. 自然语言处理,计算机保研er应该选哪个?
  13. 从零开始学习前端JAVASCRIPT — 1、JavaScript基础
  14. ipv6地址概述——带你了解ipv6与ipv4的不同
  15. 有手就行的移动平均法、指数平滑法的Excel操作,用来时间序列预测
  16. 【简单应用】STC8+OLED(4P)显示
  17. WINDOWS 疑难杂症
  18. 阅文java面试_面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)
  19. 【深搜】小孩分油问题
  20. Java、JSP电影订票网站的设计与开发

热门文章

  1. Nginx 部署前端项目dist文件
  2. 数据库的增删改查语法和多表联查方式
  3. 集成产品开发(IPD)
  4. C语言字符排版,论坛编程大赛:字符行排版
  5. 如果读懂泪水,就懂了人生的真谛
  6. 作业2(6)某客户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款额(money)取决于还款月数(month),...
  7. 四个你不知道的QQ绝密技巧!
  8. 老活新整——矩阵转置(C语言版矩阵转置)
  9. python输出矩阵图片_Python图片与其矩阵数据互相转换
  10. 转发——————《黄金问题3---一万五千字教你如何全面爱护你的膝盖》(正文+1楼回复必看)...