From fb65ace1a048380d9345b655806a1e9f7b357cc9 Mon Sep 17 00:00:00 2001 From: Jay Sheen Date: Tue, 28 Oct 2025 18:23:05 +0900 Subject: [PATCH] =?UTF-8?q?=EB=82=A0=EC=A7=9C=20=ED=95=84=ED=84=B0=20?= =?UTF-8?q?=EC=BA=98=EB=A6=B0=EB=8D=94=20Invalid=20Date=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit react-calendar에 전달되는 날짜 문자열('YYYY.MM.DD' 형식)을 moment를 사용하여 명시적으로 파싱하도록 수정하여 Invalid Date 에러 해결 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/shared/ui/calendar/nice-calendar.tsx | 12 ++++++------ src/shared/ui/filter/calendar.tsx | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/shared/ui/calendar/nice-calendar.tsx b/src/shared/ui/calendar/nice-calendar.tsx index 5b024e2..a6c1d66 100644 --- a/src/shared/ui/calendar/nice-calendar.tsx +++ b/src/shared/ui/calendar/nice-calendar.tsx @@ -29,7 +29,7 @@ const NiceCalendar = ({ minDate: propMinDate, maxDate: propMaxDate }: NiceCalendarProps) => { - const [valueDate, setValueDate] = useState(); + const [valueDate, setValueDate] = useState(); const [minDate, setMinDate] = useState(); const [maxDate, setMaxDate] = useState(); const onchangeToDate = (selectedDate: any) => { @@ -44,21 +44,21 @@ const NiceCalendar = ({ if(calendarType === CalendarType.Start){ setMinDate(propMinDate || undefined); if(!!endDate){ - setMaxDate(new Date(endDate)); + setMaxDate(moment(endDate, 'YYYY.MM.DD').toDate()); } - setValueDate(startDate); + setValueDate(startDate ? moment(startDate, 'YYYY.MM.DD').toDate() : undefined); } else if(calendarType === CalendarType.End){ if(!!startDate){ - setMinDate(new Date(startDate)); + setMinDate(moment(startDate, 'YYYY.MM.DD').toDate()); } setMaxDate(propMaxDate || new Date()); - setValueDate(endDate); + setValueDate(endDate ? moment(endDate, 'YYYY.MM.DD').toDate() : undefined); } else if(calendarType === CalendarType.Single){ setMinDate(propMinDate || undefined); setMaxDate(propMaxDate || undefined); - setValueDate(singleDate); + setValueDate(singleDate ? moment(singleDate, 'YYYY.MM.DD').toDate() : undefined); } }; diff --git a/src/shared/ui/filter/calendar.tsx b/src/shared/ui/filter/calendar.tsx index df9062d..164f5f0 100644 --- a/src/shared/ui/filter/calendar.tsx +++ b/src/shared/ui/filter/calendar.tsx @@ -74,12 +74,12 @@ export const FilterCalendar = ({ const setNewDate = (date: string) => { if(calendarType === CalendarType.Start){ - setStartDate(moment(date).format('YYYYMMDD')); - setNewStartDate(moment(date).format('YYYY.MM.DD')); + setStartDate(moment(date, 'YYYY.MM.DD').format('YYYYMMDD')); + setNewStartDate(moment(date, 'YYYY.MM.DD').format('YYYY.MM.DD')); } else if(calendarType === CalendarType.End){ - setEndDate(moment(date).format('YYYYMMDD')); - setNewEndDate(moment(date).format('YYYY.MM.DD')); + setEndDate(moment(date, 'YYYY.MM.DD').format('YYYYMMDD')); + setNewEndDate(moment(date, 'YYYY.MM.DD').format('YYYY.MM.DD')); } setCalendarOpen(false); }