From 5bdba4f712b203db5acdd981922a5bc1706b29ff Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 11 九月 2023 19:15:43 +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