yujian
2019-10-21 d085ca89e39b4cda025a9a53d3797fbe8b242ae7
utils/src/main/java/org/yeshi/utils/DateUtil.java
@@ -7,6 +7,8 @@
import java.util.Date;
import java.util.List;
import org.yeshi.utils.entity.DateInfo;
public class DateUtil {
   public static String dateDiff(String startTime, String endTime) {
@@ -63,6 +65,28 @@
      return datatime;
   }
   public static DateInfo dateDiff3(long startTime, long endTime) throws Exception {
      long nm = 1000 * 60;// 一分钟的毫秒数
      long nh = 1000 * 60 * 60;// 一小时的毫秒数
      long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数
      // 获得两个时间的毫秒时间差异
      long diff = endTime - startTime;
      int day = (int) (diff / nd);// 计算差多少天
      long hour = diff % nd / nh;// 计算差多少小时
      long minute = diff % nd % nh / nm;// 计算差多少分钟
      long second =(diff/1000-day*24*60*60-hour*60*60-minute*60); // 计算差多少秒
      DateInfo dateInfo = new DateInfo();
      dateInfo.setDay(day);
      dateInfo.setHour(hour);
      dateInfo.setMinute(minute);
      dateInfo.setSecond(second);
      return dateInfo;
   }
   /**
    * 通过时间秒毫秒数判断两个时间的间隔
    * 
@@ -114,6 +138,29 @@
      }
   }
   /**
    * 判断是否同一个月
    * @param date1
    * @param date2
    * @return
    */
   public static boolean isSameMonth(Date date1, Date date2) {
        Calendar calendar1 = Calendar.getInstance();
        calendar1.setTime(date1);
        Calendar calendar2 = Calendar.getInstance();
        calendar2.setTime(date2);
        int year1 = calendar1.get(Calendar.YEAR);
        int year2 = calendar2.get(Calendar.YEAR);
        int month1 = calendar1.get(Calendar.MONTH);
        int month2 = calendar2.get(Calendar.MONTH);
        System.out.println(year1 + "  " + month1);
        System.out.println(year2 + "  " + month2);
        return calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR) && calendar1.get(Calendar.MONTH) == calendar2.get(Calendar.MONTH);
    }
   /**
    * 指定日期加上天数后的日期
    * 
@@ -207,6 +254,27 @@
      return ca.getTime();
   }
   /**
    * 指定日期减去天数后的日期
    *
    * @param num     减去的天数
    * @param nowDate 创建时间
    * @return
    * @throws ParseException
    */
   public static String reduceDayTostring(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());
   }
   /**
    * 计算两个日期之间相差的天数