diff --git a/src/main/java/com/yn/bftl/thirdparty/common/util/DateTimeUtils.java b/src/main/java/com/yn/bftl/thirdparty/common/util/DateTimeUtils.java index 696502c..a337374 100644 --- a/src/main/java/com/yn/bftl/thirdparty/common/util/DateTimeUtils.java +++ b/src/main/java/com/yn/bftl/thirdparty/common/util/DateTimeUtils.java @@ -33,21 +33,14 @@ return Instant.ofEpochMilli(timeInMillis).atZone(zoneId).toLocalDateTime(); } public static LocalDateTime getLocalDateTimeByRFC3339Str(String dateStr) { - // 定义输入格式 - DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX[VV]"); - LocalDateTime localDateTime = LocalDateTime.now(); - try { - // 解析输入字符串为 OffsetDateTime - OffsetDateTime offsetDateTime = OffsetDateTime.parse(dateStr, inputFormatter); + // 给定的字符串格式化 + ZoneId zoneId = ZoneId.of("GMT+08:00"); - // 将 OffsetDateTime 转换为 LocalDateTime - localDateTime = offsetDateTime.toLocalDateTime(); + // 解析带有时区的日期时间字符串 + ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateStr, java.time.format.DateTimeFormatter.ISO_ZONED_DATE_TIME); - System.out.println("LocalDateTime: " + localDateTime); - } catch (DateTimeParseException e) { - System.out.println("Error parsing date: " + e.getMessage()); - } - return localDateTime; + // 将ZonedDateTime转换为LocalDateTime + return zonedDateTime.withZoneSameInstant(zoneId).toLocalDateTime(); } public static String setDateTimeToRFC3339(String dateStr) {