zoukankan      html  css  js  c++  java
  • Java 计算两个时间段之间相差的天数

    计算两个时间差消耗的时间,前提是当前的时间比处理时间要大。

     /**
         * 计算消耗的时间
         *
         * @param verifyTime 处理的时间
         * @return 已消耗的时间
         * @throws Exception
         */
        private String calDayNumbers(Date verifyTime) throws Exception {
            Tools.log("处理时间是:" + verifyTime );
            StringBuilder builder = new StringBuilder(DateUtils.toString(verifyTime, "yyyy-MM-dd") + ":已耗时");
            Integer year = 0;
            Integer month = 0;
            Integer day = 0;
            //1、当前天数大于对应时间天数时
            if (DateUtils.getDate() >= DateUtils.getDate(verifyTime)) {
                day = DateUtils.getDate() - DateUtils.getDate(verifyTime);
                if (DateUtils.getMonth() >= DateUtils.getMonth(verifyTime)) {
                    month = DateUtils.getMonth() - DateUtils.getMonth(verifyTime);
                    year = DateUtils.getYear() - DateUtils.getYear(verifyTime);
                } else if (DateUtils.getYear() > DateUtils.getYear(verifyTime)) {
                    month = DateUtils.getMonth() - DateUtils.getMonth(verifyTime) + 12;
                    year = DateUtils.getYear() - DateUtils.getYear(verifyTime) - 1;
                }
                //2、当前月份大于对应时间月份,并小于等于对应时间天数时
            } else if (DateUtils.getMonth() > DateUtils.getMonth(verifyTime)) {
                Integer resultDays = calDayNumbersByMonth(DateUtils.getYear(), DateUtils.getMonth() + 1);
                day = (DateUtils.getDate() + resultDays) - DateUtils.getDate(verifyTime);
                month = DateUtils.getMonth() - DateUtils.getMonth(verifyTime) - 1;
                year = DateUtils.getYear() - DateUtils.getYear(verifyTime);
                //3、当前年份大于对应时间年份,并小于等于对应时间月份和小于等于对应时间天数时
            } else if (DateUtils.getYear() > DateUtils.getYear(verifyTime)) {
                //取这一年最后一个月的天数
                Integer resultDays = calDayNumbersByMonth(DateUtils.getYear(), DateUtils.getMonth() + 1);
                day = (DateUtils.getDate() + resultDays) - DateUtils.getDate(verifyTime);
                month = DateUtils.getMonth() - DateUtils.getMonth(verifyTime) - 1 + 12;
                year = DateUtils.getYear() - DateUtils.getYear(verifyTime) - 1;
            }
            Tools.log("年:" + year + "月:" + month + "日:" + day);
            if (year != 0) {
                builder.append(year);
                builder.append("年");
            }
            if (month != 0) {
                builder.append(month);
                builder.append("月");
            }
            if (day != 0) {
                builder.append(day);
                builder.append("天");
            }
            return builder.toString();
        }



  • 相关阅读:
    LeetCode:Length of Last Word
    Team Queue(POJ 2259)
    LeetCode:Largest Rectangle in Histogram(update)
    bzoj4821 && luogu3707 SDOI2017相关分析(线段树,数学)
    luogu1438无聊的数列(区间加等差数列,求一个数的和)
    luogu1081 开车旅行2012 D1T3 (倍增,set,O2)
    bzoj4094 && luogu3097 最优挤奶
    luogu3888 GDOI2014拯救莫里斯 (状压dp)
    noip2017D1T3逛公园(拓扑图上dp,记忆化搜索)
    bzoj1065 NOI2008奥运物流 (dp,树上背包,推式子)
  • 原文地址:https://www.cnblogs.com/chendezhen/p/14792433.html
Copyright © 2011-2022 走看看