From 133307a0637193ca0c23f468aea2bd91c76e710a Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 08 九月 2023 14:04:57 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java | 113 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 72 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java b/src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java index 3def1fc..880a559 100644 --- a/src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java +++ b/src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java @@ -10,8 +10,8 @@ public class TimeCalculatorUtils { - public static int getTimeHour(){ - //濡備綍鑾峰彇褰撳墠鏃堕棿鐨勫皬鏃舵暟锛�24灏忔椂鍒讹級锛� + //鑾峰彇褰撳墠鏃堕棿鐨勫皬鏃舵暟锛�24灏忔椂鍒讹級锛� + public static int nowTimeHour(){ // 鑾峰彇褰撳墠鏃堕棿鎴� long timestamp = System.currentTimeMillis(); @@ -30,7 +30,8 @@ return calendar.get(java.util.Calendar.HOUR_OF_DAY); } - public static int getTimeHour(Date date){ + //鑾峰彇褰撳ぉ灏忔椂鏁帮紙24灏忔椂鍒讹級涓浗鍖椾含鏃堕棿锛� + public static int timeTimeHour(Date date){ // 鍒涘缓TimeZone瀵硅薄锛岃缃负涓浗鍖椾含鏃堕棿 TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai"); @@ -43,14 +44,16 @@ return calendar.get(java.util.Calendar.HOUR_OF_DAY); } - public static Date getYesterday(Date date){ + //鑾峰彇鍓嶄竴澶╃殑鏃ユ湡锛堟棩鏈熷ぉ鏁板噺涓�锛� + public static Date timeYesterday(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DAY_OF_MONTH, -1); return calendar.getTime(); } - public static String getYestMonthDay(Date date){ + //鑾峰彇骞存湀鏃� + public static String timeYestMonthDay(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); @@ -60,51 +63,79 @@ return year+"骞�"+month+"鏈�"+day+"鏃�"; } - public static int getDifferenceDayInt(Date startDay,Date endDay){ - return getDifferenceDayLong(startDay,endDay).intValue(); + //鑾峰彇骞� + public static int timeYest(Date date){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + + return calendar.get(Calendar.YEAR); } - public static Long getDifferenceDayLong(Date startDay,Date endDay){ - LocalDate localDateA = dateToLocalDate(startDay); - LocalDate localDateB = dateToLocalDate(endDay); + //鑾峰彇鏈� + public static int timeMonth(Date date){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); - return getDifferenceDays(localDateA, localDateB); + return calendar.get(Calendar.MONTH) + 1; } - public static Long getDifferenceDayDouble(String startDay,String endDay){ - // 瀹氫箟鏃ユ湡瀛楃涓茬殑鏍煎紡 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝鏈坉鏃hh:mm"); + //鑾峰彇鏃� + public static int timeDay(Date date){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + + return calendar.get(Calendar.DAY_OF_MONTH); + } + //鑾峰彇骞村樊寮� + public static int DifferenceYest(Date startDay,Date endDay){ + int startYest = timeYest(startDay); + int endYest = timeYest(endDay); + return endYest-startYest; + } + //鑾峰彇鏈堝樊寮� + public static int DifferenceMonth(Date startDay,Date endDay){ + int startMonth = timeMonth(startDay); + int endMonth = timeMonth(endDay); + return endMonth-startMonth; + } + //鑾峰彇澶╁樊寮� + public static int DifferenceDayInt(Date startDay,Date endDay){ + return DifferenceDayLong(startDay,endDay).intValue(); + } + //鑾峰彇澶╁樊寮� + public static Long DifferenceDayLong(Date startDay,Date endDay){ + + LocalDate a = LocalDate.of(timeYest(startDay), timeMonth(startDay), timeDay(startDay)); + LocalDate b = LocalDate.of(timeYest(endDay), timeMonth(endDay), timeDay(endDay)); + + return ChronoUnit.DAYS.between(a, b)+1; + } + //鑾峰彇澶╁樊寮� + public static Double DifferenceDayMorningAfternoon(Date startDay,Date endDay,int startTime,int endTime){ + double between = DifferenceDayLong(startDay, endDay).doubleValue(); + if (startTime==2){ + between = between-0.5; + } + if (endTime == 1){ + between = between-0.5; + } + return between; + } + + public static boolean CompareData(Date startDay,Date endDay){ // 灏嗘棩鏈熷瓧绗︿覆瑙f瀽涓篖ocalDate瀵硅薄 - LocalDate dateA = LocalDate.parse(startDay, formatter); - LocalDate dateB = LocalDate.parse(endDay, formatter); + LocalDate a = LocalDate.of(timeYest(startDay), timeMonth(startDay), timeDay(startDay)); + LocalDate b = LocalDate.of(timeYest(endDay), timeMonth(endDay), timeDay(endDay)); - // 璁$畻鏃ユ湡瀵硅薄涔嬮棿鐨勭浉闅斿ぉ鏁� - return ChronoUnit.DAYS.between(dateA, dateB); - - } - - private static String getDatePart(String dateTime) { - int index = dateTime.indexOf(" "); - if (index != -1) { - return dateTime.substring(0, index); + // 姣旇緝鏃ユ湡 + if (a.isAfter(b)) { + return false; + } else if (a.isBefore(b)) { + return true; + } else { + return true; } - return dateTime; } - private static String getTimePart(String dateTime) { - int index = dateTime.indexOf(" "); - if (index != -1) { - return dateTime.substring(index + 1); - } - return ""; - } - - private static LocalDate dateToLocalDate(Date date) { - return date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate(); - } - - private static long getDifferenceDays(LocalDate dateA, LocalDate dateB) { - return ChronoUnit.DAYS.between(dateA, dateB); - } } -- Gitblit v1.9.1