zoukankan      html  css  js  c++  java
  • java日期间相隔年月日计算

        /**
         * 获取date1相距date2多少天, date2>date1
         * @param date1
         * @param date2
         * @return
         * @throws ParseException
         */
        public static int getDaysSpace(String date1,String date2){
            Calendar cal = Calendar.getInstance();
            cal.setTime(getDate(date1, "yyyyMMdd"));
            long time1 = cal.getTimeInMillis();
            cal.setTime(getDate(date2, "yyyyMMdd"));
            long time2 = cal.getTimeInMillis();
            long between_days=(time2-time1)/(1000*3600*24);
            return Integer.parseInt(String.valueOf(between_days));
        }

        /**
         * 获取date1相距date2几个月, date2>date1
         * @param date1
         * @param date2
         * @return
         * @throws ParseException
         */
        public static float getMonthSpace(String date1, String date2){
            float result = 0;
            Calendar c1 = Calendar.getInstance();
            Calendar c2 = Calendar.getInstance();
            c1.setTime(getDate(date1, "yyyyMMdd"));
            c2.setTime(getDate(date2, "yyyyMMdd"));
            if(c2.get(Calendar.DATE) - c1.get(Calendar.DATE) >= 0){
                result = (c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR)) * 12.0f + (c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH)) + (c2.get(Calendar.DATE) - c1.get(Calendar.DATE))/30.0f;
            }else{
                result = (c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR)) * 12.0f + (c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH)) - 1.0f + (c2.get(Calendar.DATE) - c1.get(Calendar.DATE))/30.0f;
            }
            DecimalFormat df = new DecimalFormat("0.00");
            return Float.parseFloat(df.format(result));
        }

        /**
         * 获取date1相距date2几年, date2>date1
         * @param date1
         * @param date2
         * @return
         * @throws ParseException
         */
        public static float getYearSpace(String date1, String date2) {
            DecimalFormat df = new DecimalFormat("0.00");
            return Float.parseFloat(df.format(getMonthSpace(date1, date2)/12.0f));
        }

  • 相关阅读:
    MATLAB远程桌面打开失败解决办法
    Windows 10 激活步骤
    Windows 10 重装技巧
    Office2019部署代码
    vi命令行命令的积累
    github项目cim(命令行即时通讯), HashedWheelTimer学习笔记
    java读取资源文件/打jar包后读取资源文件的区别
    vmware虚拟机网络配置(物理机能用ssh连接虚拟机, 虚拟机能共享物理机网卡上外网)仅主机模式,nat模式应该也可以
    spring cloud 组件学习 hystrix学习
    netty优化学习积累+++++++
  • 原文地址:https://www.cnblogs.com/Jiphen/p/6180354.html
Copyright © 2011-2022 走看看