Skip to content

Commit d3d4918

Browse files
authored
Merge pull request #26 from sopt-makers/chore/#25
chore: 날짜 파싱 로직 안정성 개선 완료
2 parents e01be0b + 42343aa commit d3d4918

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

src/main/java/org/sopt/makers/service/DiscordNotificationService.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,17 @@ private int convertHexColorToInt(String hexColor) {
181181
* ISO 날짜 포맷팅
182182
*/
183183
private String formatDateTime(String isoDatetime) {
184-
OffsetDateTime utcTime = OffsetDateTime.parse(isoDatetime, DateTimeFormatter.ISO_DATE_TIME);
185-
LocalDateTime koreaTime = utcTime.atZoneSameInstant(ZoneId.of(TIMEZONE_SEOUL)).toLocalDateTime();
186-
return koreaTime.format(DateTimeFormatter.ofPattern(DATE_FORMAT_PATTERN));
184+
if (isoDatetime == null) {
185+
return "Unknown Date";
186+
}
187+
188+
try {
189+
OffsetDateTime utcTime = OffsetDateTime.parse(isoDatetime, DateTimeFormatter.ISO_DATE_TIME);
190+
LocalDateTime koreaTime = utcTime.atZoneSameInstant(ZoneId.of(TIMEZONE_SEOUL)).toLocalDateTime();
191+
return koreaTime.format(DateTimeFormatter.ofPattern(DATE_FORMAT_PATTERN));
192+
} catch (DateTimeException e) {
193+
log.warn("[Date Parsing Failed] rawValue={}", isoDatetime);
194+
return isoDatetime;
195+
}
187196
}
188197
}

src/main/java/org/sopt/makers/service/SlackNotificationService.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,17 @@ private Block buildActionsBlock(String webUrl) {
156156
* ISO 날짜 포맷팅
157157
*/
158158
private String formatDateTime(String isoDatetime) {
159-
OffsetDateTime utcTime = OffsetDateTime.parse(isoDatetime, DateTimeFormatter.ISO_DATE_TIME);
160-
LocalDateTime koreaTime = utcTime.atZoneSameInstant(ZoneId.of(TIMEZONE_SEOUL)).toLocalDateTime();
161-
return koreaTime.format(DateTimeFormatter.ofPattern(DATE_FORMAT_PATTERN));
159+
if (isoDatetime == null) {
160+
return "Unknown Date";
161+
}
162+
163+
try {
164+
OffsetDateTime utcTime = OffsetDateTime.parse(isoDatetime, DateTimeFormatter.ISO_DATE_TIME);
165+
LocalDateTime koreaTime = utcTime.atZoneSameInstant(ZoneId.of(TIMEZONE_SEOUL)).toLocalDateTime();
166+
return koreaTime.format(DateTimeFormatter.ofPattern(DATE_FORMAT_PATTERN));
167+
} catch (DateTimeException e) {
168+
log.warn("[Date Parsing Failed] rawValue={}", isoDatetime);
169+
return isoDatetime;
170+
}
162171
}
163172
}

0 commit comments

Comments
 (0)