java天数计算函数(当前月天数、某月总天数、某月剩余天数)4种方法实现
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种方法实现相关推荐
- 使用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 ...
- Oracle 天数计算函数
Oracle 涉及天数计算的函数 第一种方式 ROUND(TO_NUMBER(TO_DATE('传入时间', 'yyyy-mm-dd hh24:mi:ss') - 数据库Date字段)) -- 说明 ...
- java mvc中重复提交表单,spring mvc 防止重复提交表单的两种方法,推荐第二种
第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...
- java中domain什么意思_java解析URL中domain、端口和协议的两种方法
java解析URL中domain.端口和协议的两种方法 Java代码 收藏代码 @Test public void parseDomain() throws IOException { for (in ...
- java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法
标签: http://feifei.im/archives/93 ---------------------------------------------- 项目要用到doc转pdf的功能,一番go ...
- gets函数会读取回车吗_会做二次函数吗?用6种方法教你做二次函数(初中生不要错过)...
二次函数难做吗?数学一直秉承着没有最难只有更难.今天就来教大家解决二次函数的各种问题吧! 类型一 等腰三角形的存在性问题 [方法指导] [典例精讲] 例 如图,直线y=x+3与x轴交于点A,与y轴交于 ...
- java用循环给map里面存值_Java中如何遍历Map对象的4种方法
方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. 1 Map map = new HashMap();2 3 for ...
- java 读文件 二进制_JAVA中读取文件(二进制,字符)内容的几种方法总结
JAVA中读取文件内容的方法有很多,比如按字节读取文件内容,按字符读取文件内容,按行读取文件内容,随机读取文件内容等方法,本文就以上方法的具体实现给出代码,需要的可以直接复制使用 public cla ...
- 如何实现一个函数,可以返回一个给定月份的英文名称。(两种方法)
函数接口定义: char *getmonth( int n ); 函数getmonth应返回存储了n对应的月份英文名称的字符串头指针.如果传入的参数n不是一个代表月份的数字,则返回空指针NULL. 裁 ...
最新文章
- 部署和调优 1.5 vsftp部署和优化-1
- Redis五种数据类型及应用场景
- asp.net mvc中的后台验证
- 自动色彩均衡算法(ACE)原理及实现
- 淘淘商城系列——Redis的安装
- 十大排序算法Java版
- CRM客户关系管理系统需求分析文档
- Chapter 2 unit 2 of Bootstrap-Bootstrap CSS
- 通过IP获取地理位置的开放接口汇总
- DIV+CSS学习笔记总结篇
- 关于前端后台管理系统总结
- 强化学习 V.S. 自然语言处理,计算机保研er应该选哪个?
- 从零开始学习前端JAVASCRIPT — 1、JavaScript基础
- ipv6地址概述——带你了解ipv6与ipv4的不同
- 有手就行的移动平均法、指数平滑法的Excel操作,用来时间序列预测
- 【简单应用】STC8+OLED(4P)显示
- WINDOWS 疑难杂症
- 阅文java面试_面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)
- 【深搜】小孩分油问题
- Java、JSP电影订票网站的设计与开发
热门文章
- Nginx 部署前端项目dist文件
- 数据库的增删改查语法和多表联查方式
- 集成产品开发(IPD)
- C语言字符排版,论坛编程大赛:字符行排版
- 如果读懂泪水,就懂了人生的真谛
- 作业2(6)某客户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款额(money)取决于还款月数(month),...
- 四个你不知道的QQ绝密技巧!
- 老活新整——矩阵转置(C语言版矩阵转置)
- python输出矩阵图片_Python图片与其矩阵数据互相转换
- 转发——————《黄金问题3---一万五千字教你如何全面爱护你的膝盖》(正文+1楼回复必看)...