diff --git a/src/main/java/org/sopt/makers/service/DiscordNotificationService.java b/src/main/java/org/sopt/makers/service/DiscordNotificationService.java index 378ec49..33a0f90 100644 --- a/src/main/java/org/sopt/makers/service/DiscordNotificationService.java +++ b/src/main/java/org/sopt/makers/service/DiscordNotificationService.java @@ -181,8 +181,17 @@ private int convertHexColorToInt(String hexColor) { * ISO 날짜 포맷팅 */ private String formatDateTime(String isoDatetime) { - OffsetDateTime utcTime = OffsetDateTime.parse(isoDatetime, DateTimeFormatter.ISO_DATE_TIME); - LocalDateTime koreaTime = utcTime.atZoneSameInstant(ZoneId.of(TIMEZONE_SEOUL)).toLocalDateTime(); - return koreaTime.format(DateTimeFormatter.ofPattern(DATE_FORMAT_PATTERN)); + if (isoDatetime == null) { + return "Unknown Date"; + } + + try { + OffsetDateTime utcTime = OffsetDateTime.parse(isoDatetime, DateTimeFormatter.ISO_DATE_TIME); + LocalDateTime koreaTime = utcTime.atZoneSameInstant(ZoneId.of(TIMEZONE_SEOUL)).toLocalDateTime(); + return koreaTime.format(DateTimeFormatter.ofPattern(DATE_FORMAT_PATTERN)); + } catch (DateTimeException e) { + log.warn("[Date Parsing Failed] rawValue={}", isoDatetime); + return isoDatetime; + } } } diff --git a/src/main/java/org/sopt/makers/service/SlackNotificationService.java b/src/main/java/org/sopt/makers/service/SlackNotificationService.java index dac72ce..a77bd36 100644 --- a/src/main/java/org/sopt/makers/service/SlackNotificationService.java +++ b/src/main/java/org/sopt/makers/service/SlackNotificationService.java @@ -156,8 +156,17 @@ private Block buildActionsBlock(String webUrl) { * ISO 날짜 포맷팅 */ private String formatDateTime(String isoDatetime) { - OffsetDateTime utcTime = OffsetDateTime.parse(isoDatetime, DateTimeFormatter.ISO_DATE_TIME); - LocalDateTime koreaTime = utcTime.atZoneSameInstant(ZoneId.of(TIMEZONE_SEOUL)).toLocalDateTime(); - return koreaTime.format(DateTimeFormatter.ofPattern(DATE_FORMAT_PATTERN)); + if (isoDatetime == null) { + return "Unknown Date"; + } + + try { + OffsetDateTime utcTime = OffsetDateTime.parse(isoDatetime, DateTimeFormatter.ISO_DATE_TIME); + LocalDateTime koreaTime = utcTime.atZoneSameInstant(ZoneId.of(TIMEZONE_SEOUL)).toLocalDateTime(); + return koreaTime.format(DateTimeFormatter.ofPattern(DATE_FORMAT_PATTERN)); + } catch (DateTimeException e) { + log.warn("[Date Parsing Failed] rawValue={}", isoDatetime); + return isoDatetime; + } } }