java实现计算时间差
正式版:

      /**
       * 计算时间差,求出两者相隔的时间
       *
       * @param nowDate
       *            当前时间
       * @param calculateDate
       *            计算的时间
       * @return
       */
      public static long calculateTime(Date nowDate, Date calculateDate) {
            long ret = 0;
            try {
                  long t = nowDate.getTime() - calculateDate.getTime();
                  long day = t / (1000 * 60 * 60 * 24);
                  long hour = t / (1000 * 60 * 60);
                  long minute = t / (1000 * 60);
                  long second = t / 1000;
 
                  // ret = ?
            } catch (Exception e) {
            }
            return ret;
      }

 
       /**
       * 计算时间差,求出时间相隔的天数,值是四舍五入 <br><pre>
       */
       public static long calculateTime4Days(Date nowDate, Date calculateDate) {
             long ret = 0;
             try {
                   long t = nowDate.getTime() - calculateDate.getTime();
//                long day = d / (1000 * 60 * 60 * 24);
                   // 四舍五入
                  Double td = 0.0;
                  td += t;
                   long day = Math.round(td / (1000 * 60 * 60 * 24));
                  
                  ret = day;
            } catch (Exception e) {
            }
             return ret;
      }

 
 

#2013-6-7补充一个计算月份的,正式版:

       //**************************************************************************
       /**
       * 计算时间差,求出时间相隔的月份 <br><pre>
       * 编写者: sven
       * Email:swnic @isoftstone.com
       * 创建时间:2013 -6- 7 下午02:21:58 </pre>
       * @param boolean isBuc 是否补充:不足一月算一月,true;不足一月不算一月,false;
       * @return long 说明
       * @throws 异常类型 说明
       */
       //**************************************************************************
       public static long calculateTime4Month(Date startDate, Date endDate, boolean isBuc) {
             long monthDiff = 0;
 
             try {
//                String start = "2011-06-12";
//                String end = "2012-06-01";
//                SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
//                Date startDate = fmt.parse(start);
//                Date endDate = fmt.parse(end);
 
                  Calendar starCal = Calendar. getInstance();
                  starCal.setTime(startDate);
 
                   int sYear = starCal.get(Calendar.YEAR);
                   int sMonth = starCal.get(Calendar.MONTH);
                   int sDay = starCal.get(Calendar.DAY_OF_MONTH);
 
                  Calendar endCal = Calendar. getInstance();
                  endCal.setTime(endDate);
                   int eYear = endCal.get(Calendar.YEAR);
                   int eMonth = endCal.get(Calendar.MONTH);
                   int eDay = endCal.get(Calendar.DAY_OF_MONTH);
 
                  monthDiff = ((eYear - sYear) * 12 + (eMonth - sMonth));
 
//                boolean isBuc = true;
                   if (isBuc) {
                         // 不足一月不算一月减1,默认做法,参考公式
                         // 依据天数补充,不足一月算一月加1
                         if (sDay < eDay) {
                              monthDiff = monthDiff + 1;
                        } else if (sDay > eDay) {
                              monthDiff = monthDiff - 1;
                        }
                  }
            } catch (Exception e) {
            }
 
             return monthDiff;
      }


参考:
cnblogs - Java中计算时间差

转载于:https://www.cnblogs.com/svennee/p/4082852.html

java计算时间差 Java问题通用解决代码相关推荐

  1. java精确除法计算,四舍五入 Java问题通用解决代码

    java精确除法计算,四舍五入 Java问题通用解决代码 参考文章: (1)java精确除法计算,四舍五入 Java问题通用解决代码 (2)https://www.cnblogs.com/svenne ...

  2. Java计算时间差、日期差总结(亲测)

    Java计算时间差.日期差总结 最近工作中遇到需要计算时间差,搜索了几种计算时间差的方法,这里总结一下 1.java 7中的日历类Calendar Calendar类使用其静态的getInstance ...

  3. Java计算时间差_传统的SimpleDateFormat类

    Java计算时间差_传统的SimpleDateFormat类 SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd ...

  4. Java计算时间差、日期差总结

    Java计算时间差.日期差总结 最近工作中遇到需要计算时间差,搜索了几种计算时间差的方法,这里总结一下 1.java 7中的日历类Calendar Calendar类使用其静态的getInstance ...

  5. Java 计算时间差

    Java 计算时间差 1. Date 计算时间差 2. 两 LocalDate 相差年份,返回Integer类型 3. LocalDateTime 计算时间差 1. Date 计算时间差 import ...

  6. java计算时间差_java中计算两个时间差

    java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方 ...

  7. python计算时间差代码_Python3显示当前时间、计算时间差及时间加减法示例代码...

    Python3显示当前时间.计算时间差及时间加减法示例代码 摘要 在使用Python写程序时,经常需要输出系统的当前时间以及计算两个时间之间的差值,或者将当前时间加减一定时间(天数.小时.分钟.秒)来 ...

  8. Java实现若干个数计算平均值并保留小数位 java计算平均值 java四舍五入保留小数

    Java实现若干个数计算平均值并保留小数位 java计算平均值 java四舍五入保留小数 一.需求 1.在项目中,要计算若干个指标的平均值,找了一圈,发现JDK中没有提供,于是乎,造一个. 2.因若干 ...

  9. java中日期计算时间差,java中依据,两个日期,计算时间差

    java中根据,两个日期,计算时间差. 分别获取两个时间的毫秒数Date.getTime(),相减,得到的值/1000为秒数,/60*1000为分钟数,/60*60*1000为小时数. /** * 计 ...

最新文章

  1. mysql更改数据库数据存储目录_MySQL更改数据库数据存储目录
  2. 从0开始构建Arduino_STM32
  3. [C++对象模型][8]多重继承与虚函数表
  4. Androidx ViewPager+Fragment 懒加载
  5. 领域驱动设计,盒马技术团队这么做
  6. 你与那些经验老练的程序员就差一个 英文编程单词表!【文中资源分享】
  7. [react] 受控组件和非受控组件有什么区别?
  8. 张庆余(1991-),男,北京卡达克数据技术中心软件业务本部助理工程师,主要研究方向为软件架构、云计算。...
  9. 基于bootstrap的后台左侧导航菜单和点击二级菜单刷新二级页面时候菜单展开显示当前菜单...
  10. 77-spark与storm比对与选型
  11. Flickr 网站架构分析
  12. java两人猜数字游戏,三人背后猜数字游戏
  13. 2015 - Human-level control through deep reinforcement learning
  14. [SpringMVC]SpringMVC学习笔记一: springmvc原理及实例解析.
  15. c++ explicit关键字解读
  16. 计算机电源接口作用,计算机DIY必修课程,电源接口的详细说明
  17. android缓存bilibili,bilibili缓存姬
  18. Android 11源码 修改系统App后进行编译
  19. python 去除水印_cv2 去除图片水印
  20. Android实现高德地图POI搜索

热门文章

  1. apex 查询_加速器关联好司机下载器下载的apex
  2. pc端汽车obd软件下载?_【软件】PandaOCR:PC端图片转文字识别软件
  3. 虚拟机vcenter如何增加磁盘_如何在家搭建一套自己的实验平台(10)iSCSI 共享存储...
  4. 计算机检索的pdf格式,win10系统实现全文搜索pdf文件的解决办法
  5. sql程序调用批处理_批处理学习之常用命令
  6. 标定板标定和九点标定的区别_标定系列一 | 机器人手眼标定的基础理论分析
  7. python多版本共存 ubuntu_Linux下python3与python3的多版本共存
  8. 大学c语言程序设计期末考试试卷,大学大一c语言程序设计期末考试试卷及答案.doc...
  9. 清除string内容_python爬取哔哩哔哩网页弹幕内容,并将爬取的内容以五角星的形式显示出来...
  10. 带学生参加电赛,5个国一,2个国二!15个省奖!