자문 자답 같은데요 ㅎㅎ;; GPT에서 하다가 Claude로 옮겨서 수정 했더니 성공했어요!! Code node 공유 드립니다 ㅋ.. // ⛳️ 입력: Merge 노드에서 여러 포맷의 pubDate/date를 받아옴 // n8n에서는 $input.all()을 사용해야 합니다 const items = $input.all(); // 📦 출력 리스트 생성 const result = items.map(item => { const rawDate = item.json.pubDate || item.json.date || item.json.createdAt || null; // 📆 날짜 포맷 통합 함수 function parseToISOString(dateStr) { if (!dateStr) return null; // 1️⃣ 기본 new Date() const parsed = new Date(dateStr); if (!isNaN(parsed)) return parsed.toISOString(); // 2️⃣ YYYY-MM-DD 형식 처리 const isoMatch = dateStr.match(/^(\d{4})-(\d{2})-(\d{2})$/); if (isoMatch) { const [_, year, month, day] = isoMatch; const fixedDate = new Date(parseInt(year), parseInt(month) - 1, parseInt(day), 12, 0, 0); return fixedDate.toISOString(); } // 3️⃣ 미국식 포맷 (예: Jul 15, 2025 10:51am) const usMatch = dateStr.match(/^([A-Za-z]{3,}) (\d{1,2}), (\d{4}) (\d{1,2}):(\d{2})(am|pm)$/i); if (usMatch) { const [_, monthStr, day, year, hourStr, minute, period] = usMatch; const months = { jan: 0, feb: 1, mar: 2, apr: 3, may: 4, jun: 5, jul: 6, aug: 7, sep: 8, oct: 9, nov: 10, dec: 11 }; const month = months[monthStr.toLowerCase().substring(0, 3)]; let hour = parseInt(hourStr, 10); if (period.toLowerCase() === 'pm' && hour < 12) hour += 12; if (period.toLowerCase() === 'am' && hour === 12) hour = 0; const dateObj = new Date(parseInt(year), month, parseInt(day), hour, parseInt(minute)); return dateObj.toISOString(); } // 4️⃣ 최후 수단: Date.parse() try { const fallback = new Date(Date.parse(dateStr)); return isNaN(fallback) ? null : fallback.toISOString(); } catch (e) { return null; } } const standardizedDate = parseToISOString(rawDate); // 🔁 기존 json + 표준화된 날짜 필드 추가 return { json: { ...item.json, pubDateStandard: standardizedDate } }; }); // ✅ 결과 반환 return result;