前言

最近做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计算两个日期的年份差值,得到年份差值后再去计算月份差值,然后相加

计算两个日期相差的月数相关推荐

  1. Java计算两个日期相差的月数

    /*** 获取两个日期相差的月数*/public static int getMonthDiff(Date d1, Date d2) {Calendar c1 = Calendar.getInstan ...

  2. java 日期相差月数_Java计算两个日期相差的月数

    /** * 获取两个日期相差的月数 */ public static int getMonthDiff(Date d1, Date d2) { Calendar c1 = Calendar.getIn ...

  3. python 计算两个日期之间的月数差额

    用python 计算两个日期之间的月数 一个多月认为是2个月 结果: beginTime="2022-03-31" endTime="2022-05-31" # ...

  4. java计算两个日期相差的秒数

    /*** 计算两个日期相差的秒数** @param startDate* @param endDate* @return*/public static int calLastedTime(Date s ...

  5. 怎么用计算机计算年月份,如何使用Excel计算两个日期之间的月数?

    一.这可以通过DATEDIF函数完成. 二. DATEDIF函数的定义 DATEDIF函数是Excel中的隐藏函数,而不是帮助和插入公式中的隐藏函数.返回两个日期之间的年\月\日间隔的数量. DATE ...

  6. mysql 查出相差年数_MySQL计算两个日期相差的天数、月数、年数

    MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...

  7. java 计算两个日期相差月数_Java简单计算两个日期月数差的方法

    本文实例讲述了Java简单计算两个日期月数差的方法.分享给大家供大家参考,具体如下: /** * 获取两个日期相差的月数 * @param d1 较大的日期 * @param d2 较小的日期 * @ ...

  8. mysql计算两个月份之间的差值_MySQL计算两个日期相差的天数、月数、年数

    MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...

  9. mysql时间相减得到天数保留两位_MySQL计算两个日期相差的天数、月数、年数

    MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...

最新文章

  1. Forefront Client Security部署前准备
  2. mysql数据库引擎调优
  3. VMware ubuntu20.04 server随win10自动启动与关闭
  4. JSP:Java Server Page(1)
  5. not supported between instances of 'SafeText' and 'int' 问题出现以及解决
  6. 温州服务器付费方式_新购买的服务器是选择包年包月还是按流量计费呢?
  7. 蓝牙hci主要作用是什么_我的“我”是您的“您”:为什么为HCI精调Deixis很困难
  8. ffmpeg 简单教程
  9. IT大学生成长周报 | 第 2 期
  10. 计算机考试打字小作文,打字练习作文(通用5篇)
  11. 人工智能的现状与未来(附PPT)
  12. 分享: Vue微信浏览器ios音乐自动播放
  13. ffmpeg入门教程之YUV编码成h264 API详解
  14. matlab 差分方程的解(解答qq网友)
  15. 学大伟业:2019年物理竞赛学习方法
  16. 疫情之下,企业和员工到底该何去何从?
  17. 爸爸,是这个时代的稀缺品
  18. Access to XMLHttpRequest at ‘xxx‘ from origin ‘http://localhost:8082‘has been blocked by CORS policy
  19. 告诫程序员们,大三/大四有必要去实习吗?
  20. 软件工程导论第3章习题答案

热门文章

  1. linux配置intel编译器,使用Intel® Fortran编译器编译Coarray程序
  2. 自学python能干什么-学习Python能干什么工作?
  3. Excel电器折扣分析
  4. batch_mini-batch_SGD
  5. 已知银行整存整取存款不同期限的年息利率分别为
  6. [转帖]关于养老保险 交得越多越亏
  7. java 内存堆和栈_java中堆内存与栈内存的知识点总结
  8. RS485,RS232,MODBUS三者之间的关系
  9. 2018.09.07 loj#10166 数字游戏(数位dp)
  10. iOS开发关于使用mac自带的数码测色计(吸管)的使用误差处理