From db98bb27a9240893297531e1218239222c2ba9b1 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 31 十二月 2019 11:46:13 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
---
utils/src/main/java/org/yeshi/utils/DateUtil.java | 175 ++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 133 insertions(+), 42 deletions(-)
diff --git a/utils/src/main/java/org/yeshi/utils/DateUtil.java b/utils/src/main/java/org/yeshi/utils/DateUtil.java
index 500fd67..abeb00b 100644
--- a/utils/src/main/java/org/yeshi/utils/DateUtil.java
+++ b/utils/src/main/java/org/yeshi/utils/DateUtil.java
@@ -54,7 +54,7 @@
if (day > 0) {
datatime = day + "澶�" + hour + "鏃�" + min + "鍒�";
} else {
- if (hour > 0 ) {
+ if (hour > 0) {
datatime = hour + "鏃�" + min + "鍒�";
} else {
if (min < 0)
@@ -65,19 +65,18 @@
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); // 璁$畻宸灏戠
+ long second = (diff / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60); // 璁$畻宸灏戠
DateInfo dateInfo = new DateInfo();
dateInfo.setDay(day);
@@ -87,6 +86,34 @@
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;
+ }
+
/**
* 閫氳繃鏃堕棿绉掓绉掓暟鍒ゆ柇涓や釜鏃堕棿鐨勯棿闅�
*
@@ -138,29 +165,28 @@
}
}
-
/**
* 鍒ゆ柇鏄惁鍚屼竴涓湀
+ *
* @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);
- }
-
-
-
+ 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);
+ }
+
/**
* 鎸囧畾鏃ユ湡鍔犱笂澶╂暟鍚庣殑鏃ユ湡
*
@@ -197,7 +223,7 @@
return format.format(ca.getTime());
}
-
+
/**
* 鎸囧畾鏃ユ湡鍔犱笂澶╂暟鍚庣殑鏃ユ湡
*
@@ -212,8 +238,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();
+ }
-
+
/**
* 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡
*
@@ -254,7 +306,7 @@
return ca.getTime();
}
-
+
/**
* 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡
*
@@ -294,13 +346,12 @@
return Integer.parseInt(String.valueOf(between_days));
}
-
/**
* 瀛楃涓叉棩鏈熸牸寮忕殑璁$畻
*
* @param smdate
* @param bdate
- * @return 鍗曚綅澶╂暟
+ * @return 鍗曚綅澶╂暟
* @throws ParseException
*/
public static int daysBetween2(Date minDate, Date maxDate) throws ParseException {
@@ -308,7 +359,6 @@
return daysBetween(sdf.format(minDate), sdf.format(maxDate));
}
-
/**
* 瀛楃涓叉棩鏈熸牸寮忕殑璁$畻
*
@@ -359,29 +409,70 @@
/**
* 闅忔満鍑忓幓鍑犲垎閽�
+ *
* @param date
- * @param min 闅忔満娣诲姞鐨勫垎閽熸暟
+ * @param min 闅忔満娣诲姞鐨勫垎閽熸暟
* @return
*/
- public static Date reduceRandomMinute(Date date , int min) {
+ public static Date reduceRandomMinute(Date date, int min) {
long rand = (long) (Math.random() * 1000 * 60 * min);
long time = date.getTime() - rand;
return new Date(time);
}
-
-
- /**
- * @param args
- * @throws ParseException format() 瀵规棩鏈熻繘琛屾牸寮忓寲澶勭悊 parse() 灏嗘棩鏈熻缃负date绫诲瀷
- */
- public static void main(String[] args) throws ParseException {
- // TODO Auto-generated method stub
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date d1 = sdf.parse("2016-09-08 00:00:00");
- Date d2 = sdf.parse("2016-09-08 00:00:00");
- System.out.println(daysBetween(d1, d2));
- System.out.println(daysBetween("2016-09-08 10:10:10", "2016-09-29 00:00:00"));
+ /**
+ * 璁$畻涓ゆ椂闂存湀宸�
+ *
+ * @param startDate <String>
+ * @param endDate <String>
+ * @return int
+ * @throws ParseException
+ */
+ public static int getMonthSpace(String startDate, String endDate) throws ParseException {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+ return getMonthSpace(sdf.parse(startDate), sdf.parse(endDate));
}
+ /**
+ * 璁$畻涓ゆ椂闂存湀宸�
+ *
+ * @param startDate <String>
+ * @param endDate <String>
+ * @return int
+ * @throws ParseException
+ */
+ public static int getMonthSpace(Date startDate, Date endDate) {
+ Calendar start = Calendar.getInstance();
+ Calendar end = Calendar.getInstance();
+ start.setTime(startDate);
+ end.setTime(endDate);
+ int result = end.get(Calendar.MONTH) - start.get(Calendar.MONTH);
+ 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", "2012-02"));
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0