计算两个日期相差的月数
前言
最近做Calendar(日历)相关是内容,有需要计算日期之间月份的差值,研究了Calendar函数,发现真是高到大尚:
计算差值
public static int getMonthDiff(Date d1, Date d2) {Calendar c1 = Calendar.getInstance();//实例化Calendar c2 = Calendar.getInstance();c1.setTime(d1);//设置传入的日期c2.setTime(d2);int year1 = c1.get(Calendar.YEAR);//获取年int year2 = c2.get(Calendar.YEAR);int month1 = c1.get(Calendar.MONTH);//月份int month2 = c2.get(Calendar.MONTH);int day1 = c1.get(Calendar.DAY_OF_MONTH);//日int day2 = c2.get(Calendar.DAY_OF_MONTH);// 获取年的差值int yearInterval = year1 - year2;// 如果 d1的 月-日 小于 d2的 月-日 那么 yearInterval-- 这样就得到了相差的年数if (month1 < month2 || month1 == month2 && day1 < day2)yearInterval--;// 获取月数差值int monthInterval = (month1 + 12) - month2;if (day1 < day2)monthInterval--;monthInterval %= 12;int monthsDiff = Math.abs(yearInterval * 12 + monthInterval);return monthsDiff;}
思路其实就是通过calendar计算两个日期的年份差值,得到年份差值后再去计算月份差值,然后相加
计算两个日期相差的月数相关推荐
- Java计算两个日期相差的月数
/*** 获取两个日期相差的月数*/public static int getMonthDiff(Date d1, Date d2) {Calendar c1 = Calendar.getInstan ...
- java 日期相差月数_Java计算两个日期相差的月数
/** * 获取两个日期相差的月数 */ public static int getMonthDiff(Date d1, Date d2) { Calendar c1 = Calendar.getIn ...
- python 计算两个日期之间的月数差额
用python 计算两个日期之间的月数 一个多月认为是2个月 结果: beginTime="2022-03-31" endTime="2022-05-31" # ...
- java计算两个日期相差的秒数
/*** 计算两个日期相差的秒数** @param startDate* @param endDate* @return*/public static int calLastedTime(Date s ...
- 怎么用计算机计算年月份,如何使用Excel计算两个日期之间的月数?
一.这可以通过DATEDIF函数完成. 二. DATEDIF函数的定义 DATEDIF函数是Excel中的隐藏函数,而不是帮助和插入公式中的隐藏函数.返回两个日期之间的年\月\日间隔的数量. DATE ...
- mysql 查出相差年数_MySQL计算两个日期相差的天数、月数、年数
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...
- java 计算两个日期相差月数_Java简单计算两个日期月数差的方法
本文实例讲述了Java简单计算两个日期月数差的方法.分享给大家供大家参考,具体如下: /** * 获取两个日期相差的月数 * @param d1 较大的日期 * @param d2 较小的日期 * @ ...
- mysql计算两个月份之间的差值_MySQL计算两个日期相差的天数、月数、年数
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...
- mysql时间相减得到天数保留两位_MySQL计算两个日期相差的天数、月数、年数
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...
最新文章
- Forefront Client Security部署前准备
- mysql数据库引擎调优
- VMware ubuntu20.04 server随win10自动启动与关闭
- JSP:Java Server Page(1)
- not supported between instances of 'SafeText' and 'int' 问题出现以及解决
- 温州服务器付费方式_新购买的服务器是选择包年包月还是按流量计费呢?
- 蓝牙hci主要作用是什么_我的“我”是您的“您”:为什么为HCI精调Deixis很困难
- ffmpeg 简单教程
- IT大学生成长周报 | 第 2 期
- 计算机考试打字小作文,打字练习作文(通用5篇)
- 人工智能的现状与未来(附PPT)
- 分享: Vue微信浏览器ios音乐自动播放
- ffmpeg入门教程之YUV编码成h264 API详解
- matlab 差分方程的解(解答qq网友)
- 学大伟业:2019年物理竞赛学习方法
- 疫情之下,企业和员工到底该何去何从?
- 爸爸,是这个时代的稀缺品
- Access to XMLHttpRequest at ‘xxx‘ from origin ‘http://localhost:8082‘has been blocked by CORS policy
- 告诫程序员们,大三/大四有必要去实习吗?
- 软件工程导论第3章习题答案
热门文章
- linux配置intel编译器,使用Intel® Fortran编译器编译Coarray程序
- 自学python能干什么-学习Python能干什么工作?
- Excel电器折扣分析
- batch_mini-batch_SGD
- 已知银行整存整取存款不同期限的年息利率分别为
- [转帖]关于养老保险 交得越多越亏
- java 内存堆和栈_java中堆内存与栈内存的知识点总结
- RS485,RS232,MODBUS三者之间的关系
- 2018.09.07 loj#10166 数字游戏(数位dp)
- iOS开发关于使用mac自带的数码测色计(吸管)的使用误差处理