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 a2d2f63..760c2f1 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 @@ -7,6 +7,8 @@ import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; import java.util.Locale; /** @@ -35,4 +37,24 @@ public static String setDateTimeToRFC3339(String dateStr) { return DateUtil.format(Convert.toLocalDateTime(dateStr) ,"yyyy-MM-dd'T'HH:mm:ssXXX"); } + + public static String getDateTimeToRFC3339(String dateStr ) { + return getDateTimeToRFC3339( dateStr,"yyyyMMddHHmmss"); + } + + public static String getDateTimeToRFC3339(String dateStr, String pattern ) { + // 定义日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); + + // 解析原始字符串为 LocalDateTime + LocalDateTime localDateTime = LocalDateTime.from(formatter.parse(dateStr)); + + // 转换为 系统默认 时区的 ZonedDateTime + ZoneId zoneId = ZoneId.systemDefault(); + ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId); + + // 使用 ISO 8601 标准的 DateTimeFormatter 格式化时间 + DateTimeFormatter rfc3339Formatter = DateTimeFormatter.ISO_ZONED_DATE_TIME; + return zonedDateTime.format(rfc3339Formatter); + } }