From d085ca89e39b4cda025a9a53d3797fbe8b242ae7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期一, 21 十月 2019 17:11:30 +0800 Subject: [PATCH] 订单补偿 + 奖励券使用倒计时 --- utils/src/main/java/org/yeshi/utils/DateUtil.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 96 insertions(+), 4 deletions(-) diff --git a/utils/src/main/java/org/yeshi/utils/DateUtil.java b/utils/src/main/java/org/yeshi/utils/DateUtil.java index 34a538f..500fd67 100644 --- a/utils/src/main/java/org/yeshi/utils/DateUtil.java +++ b/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) { @@ -37,7 +39,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,16 +47,46 @@ // 鑾峰緱涓や釜鏃堕棿鐨勬绉掓椂闂村樊寮� 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; } + + 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; + } + /** * 閫氳繃鏃堕棿绉掓绉掓暟鍒ゆ柇涓や釜鏃堕棿鐨勯棿闅� * @@ -106,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); + } + + + /** * 鎸囧畾鏃ユ湡鍔犱笂澶╂暟鍚庣殑鏃ユ湡 * @@ -142,6 +197,22 @@ 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(); + } + /** * 鎸囧畾鏃ユ湡鍑忓幓澶╂暟鍚庣殑鏃ユ湡 @@ -183,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()); + } /** * 璁$畻涓や釜鏃ユ湡涔嬮棿鐩稿樊鐨勫ぉ鏁� -- Gitblit v1.8.0