From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 09 五月 2020 21:41:27 +0800
Subject: [PATCH] 2.1需求

---
 utils/src/main/java/org/yeshi/utils/DateUtil.java |  158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 157 insertions(+), 1 deletions(-)

diff --git a/utils/src/main/java/org/yeshi/utils/DateUtil.java b/utils/src/main/java/org/yeshi/utils/DateUtil.java
index e8f4028..08105a9 100644
--- a/utils/src/main/java/org/yeshi/utils/DateUtil.java
+++ b/utils/src/main/java/org/yeshi/utils/DateUtil.java
@@ -85,7 +85,76 @@
 		dateInfo.setSecond(second);
 		return dateInfo;
 	}
+	
+	public static String dateDiff4(Date startTime, Date endTime) throws Exception {
 
+		String datatime = "0鍒�";
+
+		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;// 璁$畻宸灏戝垎閽�
+
+		if (day > 0) {
+			datatime = day + "澶�";
+		} else {
+			if (hour > 0) {
+				datatime = hour + "鏃�";
+			} else {
+				if (min < 0)
+					min = 0;
+				datatime = min + "鍒�";
+			}
+		}
+		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;
+	}
+	
+	
+	
 	/**
 	 * 閫氳繃鏃堕棿绉掓绉掓暟鍒ゆ柇涓や釜鏃堕棿鐨勯棿闅�
 	 * 
@@ -177,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();
+	}
 
 	/**
 	 * 鎸囧畾鏃ユ湡鍔犱笂澶╂暟鍚庣殑鏃ユ湡
@@ -196,6 +282,7 @@
 		return format.format(ca.getTime());
 	}
 
+	
 	/**
 	 * 鎸囧畾鏃ユ湡鍔犱笂澶╂暟鍚庣殑鏃ユ湡
 	 * 
@@ -210,7 +297,34 @@
 		ca.add(Calendar.DATE, num);
 		return ca.getTime();
 	}
+	
+	/**
+	 * 鍔犱笂鏈堜唤
+	 * @param currdate
+	 * @param num
+	 * @return
+	 */
+	public static Date plusMonths(Date currdate, int num) {
+		Calendar ca = Calendar.getInstance();
+		ca.setTime(currdate);
+		ca.add(Calendar.MONTH, num);
+		return ca.getTime();
+	}
+	
+	/**
+	 * 鍔犱笂骞翠唤
+	 * @param currdate
+	 * @param num
+	 * @return
+	 */
+	public static Date plusYears(Date currdate, int num) {
+		Calendar ca = Calendar.getInstance();
+		ca.setTime(currdate);
+		ca.add(Calendar.YEAR, num);
+		return ca.getTime();
+	}
 
+	
 	/**
 	 * 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡
 	 * 
@@ -230,6 +344,28 @@
 		return format.format(ca.getTime());
 	}
 
+	/**
+	 * 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡
+	 * 
+	 * @param num     鍑忓幓鐨勫ぉ鏁�
+	 * @param nowDate 鍒涘缓鏃堕棿
+	 * @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());
+	}
+	
 	/**
 	 * 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡
 	 * 
@@ -395,9 +531,29 @@
         int month = (end.get(Calendar.YEAR) - start.get(Calendar.YEAR)) * 12;
 		return Math.abs(month + result);
 	}
+	
+
+	public static Date getTodayStartTime() {
+		Calendar todayStart = Calendar.getInstance();
+		todayStart.set(Calendar.HOUR_OF_DAY,0);
+		todayStart.set(Calendar.MINUTE,0);
+		todayStart.set(Calendar.SECOND,0);
+		todayStart.set(Calendar.MILLISECOND,0);
+		return todayStart.getTime();
+	}
+	 
+	public static Date getTodayEndTime() {
+		Calendar todayEnd = Calendar.getInstance();
+		todayEnd.set(Calendar.HOUR_OF_DAY,23);
+		todayEnd.set(Calendar.MINUTE,59);
+		todayEnd.set(Calendar.SECOND,59);
+		todayEnd.set(Calendar.MILLISECOND,999);
+		return todayEnd.getTime();
+	}
+	
 
 	public static void main(String[] args) throws ParseException {
-        System.out.println(getMonthSpace("2012-02", "2013-01"));   
+        System.out.println(getMonthSpace("2012-02", "2012-02"));   
     }
 
 }
\ No newline at end of file

--
Gitblit v1.8.0