diff --git a/frontend/components/dashboard/widgets/RiskAlertTestWidget.tsx b/frontend/components/dashboard/widgets/RiskAlertTestWidget.tsx index 8aa2e3e2..df8bf098 100644 --- a/frontend/components/dashboard/widgets/RiskAlertTestWidget.tsx +++ b/frontend/components/dashboard/widgets/RiskAlertTestWidget.tsx @@ -636,9 +636,10 @@ export default function RiskAlertTestWidget({ element }: RiskAlertTestWidgetProp
{(() => { - const ts = String(alert.timestamp); + const original = String(alert.timestamp); + const ts = original.replace(/\s+/g, ""); // 공백 제거 - // yyyyMMddHHmm 형식 감지 (예: 20251114 1000) + // yyyyMMddHHmm 형식 감지 (12자리 숫자) if (/^\d{12}$/.test(ts)) { const year = ts.substring(0, 4); const month = ts.substring(4, 6); @@ -646,12 +647,20 @@ export default function RiskAlertTestWidget({ element }: RiskAlertTestWidgetProp const hour = ts.substring(8, 10); const minute = ts.substring(10, 12); const date = new Date(`${year}-${month}-${day}T${hour}:${minute}:00`); - return isNaN(date.getTime()) ? ts : date.toLocaleString("ko-KR"); + return isNaN(date.getTime()) ? original : date.toLocaleString("ko-KR"); + } + + // "2025년 11월 14일 13시 20분" 형식 + const koreanMatch = original.match(/(\d{4})년\s*(\d{1,2})월\s*(\d{1,2})일\s*(\d{1,2})시\s*(\d{1,2})분/); + if (koreanMatch) { + const [, year, month, day, hour, minute] = koreanMatch; + const date = new Date(`${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}T${hour.padStart(2, '0')}:${minute.padStart(2, '0')}:00`); + return isNaN(date.getTime()) ? original : date.toLocaleString("ko-KR"); } // ISO 형식 또는 일반 날짜 형식 - const date = new Date(ts); - return isNaN(date.getTime()) ? ts : date.toLocaleString("ko-KR"); + const date = new Date(original); + return isNaN(date.getTime()) ? original : date.toLocaleString("ko-KR"); })()} {alert.source && · {alert.source}}