From e19ce4be094d93f68bdb6ee1c28e9caa502bf2c4 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 10 十月 2019 11:17:12 +0800 Subject: [PATCH] utils包添加工具类,抖音广告修改 --- utils/src/main/java/org/yeshi/utils/DateUtil.java | 220 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 167 insertions(+), 53 deletions(-) diff --git a/utils/src/main/java/org/yeshi/utils/DateUtil.java b/utils/src/main/java/org/yeshi/utils/DateUtil.java index 3cfbc90..f6a0bb6 100644 --- a/utils/src/main/java/org/yeshi/utils/DateUtil.java +++ b/utils/src/main/java/org/yeshi/utils/DateUtil.java @@ -37,7 +37,7 @@ public static String dateDiff2(Date startTime, Date endTime) throws Exception { - String datatime = 0 + "澶�" + 0 + "灏忔椂" + 0 + "鍒嗛挓"; + String datatime = "0鍒�"; long nm = 1000 * 60;// 涓�鍒嗛挓鐨勬绉掓暟 long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟 @@ -45,14 +45,33 @@ // 鑾峰緱涓や釜鏃堕棿鐨勬绉掓椂闂村樊寮� long diff = endTime.getTime() - startTime.getTime(); - long day = diff / nd;// 璁$畻宸灏戝ぉ long hour = diff % nd / nh;// 璁$畻宸灏戝皬鏃� long min = diff % nd % nh / nm;// 璁$畻宸灏戝垎閽� - datatime = day + "澶�" + hour + "灏忔椂" + min + "鍒嗛挓"; - + if (day > 0) { + datatime = day + "澶�" + hour + "鏃�" + min + "鍒�"; + } else { + if (hour > 0 ) { + datatime = hour + "鏃�" + min + "鍒�"; + } else { + if (min < 0) + min = 0; + datatime = min + "鍒�"; + } + } return datatime; + } + + /** + * 閫氳繃鏃堕棿绉掓绉掓暟鍒ゆ柇涓や釜鏃堕棿鐨勯棿闅� + * + * @param date1 + * @param date2 + * @return + */ + public static int differentDaysByMillisecond(Date start, Date end) { + return (int) ((end.getTime() - start.getTime()) / (1000 * 3600 * 24)); } public String transferLongToDate(String dateFormat, Long millSec) { @@ -94,87 +113,156 @@ return false; } } - - - /** - * 楠岃瘉鏄惁灞炰簬鍚屼竴澶� - * - * @param Date1 - * @param Date2 - * @return - */ - public static boolean isSameMonth(Date date1, Date date2) { - if (date1 != null && date2 != null) { - Calendar cal1 = Calendar.getInstance(); - cal1.setTime(date1); - Calendar cal2 = Calendar.getInstance(); - cal2.setTime(date2); - return isSameMonth(cal1, cal2); - } else { - return false; - } - } - - /** - * 楠岃瘉鏄惁灞炰簬鍚屽勾鍚屾湀 - * - * @param cal1 - * @param cal2 - * @return - */ - public static boolean isSameMonth(Calendar cal1, Calendar cal2) { - if (cal1 != null && cal2 != null) { - return cal1.get(0) == cal2.get(0) && cal1.get(1) == cal2.get(1) && cal1.get(6) == cal2.get(6); - } else { - return false; - } - } - /** * 鎸囧畾鏃ユ湡鍔犱笂澶╂暟鍚庣殑鏃ユ湡 * - * @param num - * 澧炲姞鐨勫ぉ鏁� - * @param nowDate - * 鍒涘缓鏃堕棿 + * @param num 澧炲姞鐨勫ぉ鏁� + * @param nowDate 鍒涘缓鏃堕棿 * @return * @throws ParseException */ public static String plusDay(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 format.format(ca.getTime()); + } + + /** + * 鎸囧畾鏃ユ湡鍔犱笂澶╂暟鍚庣殑鏃ユ湡 + * + * @param num 澧炲姞鐨勫ぉ鏁� + * @param nowDate 鍒涘缓鏃堕棿 + * @return + * @throws ParseException + */ + public static String plusDay(int num, Date currdate) throws ParseException { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + + 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 plusDayDate(int num, Date currdate) { + Calendar ca = Calendar.getInstance(); + ca.setTime(currdate); + ca.add(Calendar.DATE, num); + return ca.getTime(); + } + + + /** * 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡 * - * @param num - * 鍑忓幓鐨勫ぉ鏁� - * @param nowDate - * 鍒涘缓鏃堕棿 + * @param num 鍑忓幓鐨勫ぉ鏁� + * @param nowDate 鍒涘缓鏃堕棿 * @return * @throws ParseException */ public static String reduceDay(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 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"); + // 鑾峰彇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 ca.getTime(); + } + + /** + * 璁$畻涓や釜鏃ユ湡涔嬮棿鐩稿樊鐨勫ぉ鏁� + * + * @param smdate 杈冨皬鐨勬椂闂� + * @param bdate 杈冨ぇ鐨勬椂闂� + * @return 鐩稿樊澶╂暟 + * @throws ParseException calendar 瀵规棩鏈熻繘琛屾椂闂存搷浣� getTimeInMillis() 鑾峰彇鏃ユ湡鐨勬绉掓樉绀哄舰寮� + */ + public static int daysBetween(Date minDate, Date maxDate) throws ParseException { + Calendar cal = Calendar.getInstance(); + cal.setTime(minDate); + long minTime = cal.getTimeInMillis(); + cal.setTime(maxDate); + long maxTime = cal.getTimeInMillis(); + long between_days = (maxTime - minTime) / (1000 * 3600 * 24); + return Integer.parseInt(String.valueOf(between_days)); + } + /** + * 瀛楃涓叉棩鏈熸牸寮忕殑璁$畻 + * + * @param smdate + * @param bdate + * @return 鍗曚綅澶╂暟 + * @throws ParseException + */ + public static int daysBetween2(Date minDate, Date maxDate) throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return daysBetween(sdf.format(minDate), sdf.format(maxDate)); + } + + + /** + * 瀛楃涓叉棩鏈熸牸寮忕殑璁$畻 + * + * @param smdate + * @param bdate + * @return + * @throws ParseException + */ + public static int daysBetween(String minDate, String maxDate) throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar cal = Calendar.getInstance(); + cal.setTime(sdf.parse(minDate)); + long minTime = cal.getTimeInMillis(); + cal.setTime(sdf.parse(maxDate)); + long maxTime = cal.getTimeInMillis(); + long between_days = (maxTime - minTime) / (1000 * 3600 * 24); + return Integer.parseInt(String.valueOf(between_days)); + } + + /** * 杩斿洖涓棿鏃ユ湡 + * * @param startTime * @param endTime * @return @@ -198,8 +286,34 @@ break; // 鏃堕棿缁撴潫 } } - return listDate; } + + /** + * 闅忔満鍑忓幓鍑犲垎閽� + * @param date + * @param min 闅忔満娣诲姞鐨勫垎閽熸暟 + * @return + */ + 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")); + } + } \ No newline at end of file -- Gitblit v1.8.0