From 2a3e411612bf75b81a8789127a714b5c5e28bc43 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 31 十月 2019 13:55:03 +0800 Subject: [PATCH] 红包获得 --- utils/src/main/java/org/yeshi/utils/DateUtil.java | 102 +++++++++++++++++++++++++++++--------------------- 1 files changed, 59 insertions(+), 43 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..e8f4028 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); @@ -86,7 +85,7 @@ dateInfo.setSecond(second); return dateInfo; } - + /** * 閫氳繃鏃堕棿绉掓绉掓暟鍒ゆ柇涓や釜鏃堕棿鐨勯棿闅� * @@ -138,29 +137,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 +195,7 @@ return format.format(ca.getTime()); } - + /** * 鎸囧畾鏃ユ湡鍔犱笂澶╂暟鍚庣殑鏃ユ湡 * @@ -212,7 +210,6 @@ ca.add(Calendar.DATE, num); return ca.getTime(); } - /** * 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡 @@ -254,7 +251,7 @@ return ca.getTime(); } - + /** * 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡 * @@ -294,13 +291,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 +304,6 @@ return daysBetween(sdf.format(minDate), sdf.format(maxDate)); } - /** * 瀛楃涓叉棩鏈熸牸寮忕殑璁$畻 * @@ -359,29 +354,50 @@ /** * 闅忔満鍑忓幓鍑犲垎閽� + * * @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 void main(String[] args) throws ParseException { + System.out.println(getMonthSpace("2012-02", "2013-01")); + } + } \ No newline at end of file -- Gitblit v1.8.0