yujian
2020-05-09 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64
utils/src/main/java/org/yeshi/utils/DateUtil.java
@@ -114,6 +114,47 @@
      return datatime;
   }
   public static String dateDiff5(Date startTime, Date endTime) throws Exception {
      long nm = 1000 * 60;// 一分钟的毫秒数
      long nh = 1000 * 60 * 60;// 一小时的毫秒数
      long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数
      // 获得两个时间的毫秒时间差异
      long diff = endTime.getTime() - startTime.getTime();
      long day = diff / nd;// 计算差多少天
      long hour = diff % nd / nh;// 计算差多少小时
      long min = diff % nd % nh / nm;// 计算差多少分钟
      long second = (diff / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); // 计算差多少秒
      String datatime = "";
      if (day > 0) {
         datatime = day + "天";
      } else if (hour > 0) {
         datatime = hour + "小时";
      } else if (min > 0) {
         datatime = min + "分钟";
      } else if(second > 0) {
         datatime = second + "秒";
      }
      return datatime;
   }
   public static long dateDiffMin(Date startTime, Date endTime) throws Exception {
      long nm = 1000 * 60;// 一分钟的毫秒数
      long nh = 1000 * 60 * 60;// 一小时的毫秒数
      long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数
      // 获得两个时间的毫秒时间差异
      long diff = endTime.getTime() - startTime.getTime();
      long day = diff / nd;// 计算差多少天
      long hour = diff % nd / nh;// 计算差多少小时
      long min = diff % nd % nh / nm  + day * 24 * 60 + hour * 60;// 计算差多少分钟
      return min;
   }
   /**
    * 通过时间秒毫秒数判断两个时间的间隔
    * 
@@ -205,6 +246,23 @@
      return format.format(ca.getTime());
   }
   /**
    * 指定日期加上天数后的日期
    *
    * @param num     增加的天数
    * @param nowDate 创建时间
    * @return
    * @throws ParseException
    */
   public static Date plusDayReturnDate(int num, String nowDate) throws ParseException {
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
      Date currdate = format.parse(nowDate);
      Calendar ca = Calendar.getInstance();
      ca.setTime(currdate);
      ca.add(Calendar.DATE, num);
      return ca.getTime();
   }
   /**
    * 指定日期加上天数后的日期
@@ -224,6 +282,7 @@
      return format.format(ca.getTime());
   }
   /**
    * 指定日期加上天数后的日期
    * 
@@ -293,6 +352,28 @@
    * @return
    * @throws ParseException
    */
   public static String reduceDay2(int num, Date date) throws ParseException {
      // 设置要获取到什么样的时间
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
      // 获取String类型的时间
      String date_str = format.format(date);
      Date currdate = format.parse(date_str);
      Calendar ca = Calendar.getInstance();
      ca.setTime(currdate);
      ca.add(Calendar.DATE, -num); // 日期减 如果不够减会将月变动
      return format.format(ca.getTime());
   }
   /**
    * 指定日期减去天数后的日期
    *
    * @param num     减去的天数
    * @param nowDate 创建时间
    * @return
    * @throws ParseException
    */
   public static Date reduceDay(int num, Date date) throws ParseException {
      // 设置要获取到什么样的时间
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");