Browse Source

fix时区

liujc 8 months ago
parent
commit
586ef8f1a6
1 changed files with 26 additions and 18 deletions
  1. 26 18
      toolset/utils/src/main/java/com/yonge/toolset/utils/date/DateUtil.java

+ 26 - 18
toolset/utils/src/main/java/com/yonge/toolset/utils/date/DateUtil.java

@@ -7,6 +7,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
@@ -560,11 +561,15 @@ public class DateUtil {
 		if(null == early || null == late){
 			return 0;
 		}
-		Calendar c1 = Calendar.getInstance();
-		Calendar c2 = Calendar.getInstance();
-		c1.setTime(early);
-		c2.setTime(late);
-		return dateToJulianDay(c2.getTime()) - dateToJulianDay(c1.getTime());
+
+        LocalDate localDate1 = early.toInstant().atZone(zoneId).toLocalDate();
+        LocalDate localDate2 = late.toInstant().atZone(zoneId).toLocalDate();
+        return (int) (localDate2.toEpochDay() - localDate1.toEpochDay());
+//		Calendar c1 = Calendar.getInstance();
+//		Calendar c2 = Calendar.getInstance();
+//		c1.setTime(early);
+//		c2.setTime(late);
+//		return dateToJulianDay(c2.getTime()) - dateToJulianDay(c1.getTime());
 	}
 
 	/**
@@ -1511,19 +1516,22 @@ public class DateUtil {
 	}
 
 	public static void main(String[] args) throws ParseException {
+        Date from = Date.from(LocalDateTime.of(2024, 7, 27, 23, 59, 59).atZone(ZoneId.systemDefault()).toInstant());
+        Date start = Date.from(LocalDateTime.of(2024, 7, 26, 7, 59, 59).atZone(ZoneId.systemDefault()).toInstant());
+        System.out.println(daysBetween(start, from));
 		// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
-		DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//		 System.out.println(daysBetween(df.parse("2017-07-20 10:07:42"), df.parse(df.format(new Date()))));
-		System.out.println(getWeekMondayWithDate(new Date()));
-		System.out.println(getNextWeekMonday(new Date()));
-		System.out.println(getNextWeekSunday(new Date()));
-		System.out.println(dayEnd(new Date()));
-		System.out.println(format(getLastDayOfMonth(new Date()),CHINESE_DATA_FORMAT));
-		System.out.println(monthsBetween(df1.parse("2020-01-18 12:00:00"),df1.parse("2020-04-19 12:00:00")));
-		System.out.println(getNextWeekMonday(new Date()));
-
-		System.out.println(getMonthDiff(
-				DateUtil.parse("2022-01-05",DEFAULT_PATTERN),
-				DateUtil.parse("2022-02-04",DEFAULT_PATTERN)));
+//		DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+////		 System.out.println(daysBetween(df.parse("2017-07-20 10:07:42"), df.parse(df.format(new Date()))));
+//		System.out.println(getWeekMondayWithDate(new Date()));
+//		System.out.println(getNextWeekMonday(new Date()));
+//		System.out.println(getNextWeekSunday(new Date()));
+//		System.out.println(dayEnd(new Date()));
+//		System.out.println(format(getLastDayOfMonth(new Date()),CHINESE_DATA_FORMAT));
+//		System.out.println(monthsBetween(df1.parse("2020-01-18 12:00:00"),df1.parse("2020-04-19 12:00:00")));
+//		System.out.println(getNextWeekMonday(new Date()));
+//
+//		System.out.println(getMonthDiff(
+//				DateUtil.parse("2022-01-05",DEFAULT_PATTERN),
+//				DateUtil.parse("2022-02-04",DEFAULT_PATTERN)));
 	}
 }