From 72cedd6e7e69cf403c278f461c145f133fbe54c0 Mon Sep 17 00:00:00 2001 From: jasquat <2487833+jasquat@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:01:32 -0500 Subject: [PATCH] feature/fix-rjsf-date-with-abbr-month (#869) * handle invalid dates better to better support various date formats w/ burnettk * use getTime to check for date validity instead --------- Co-authored-by: jasquat --- .../src/services/DateAndTimeService.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/spiffworkflow-frontend/src/services/DateAndTimeService.tsx b/spiffworkflow-frontend/src/services/DateAndTimeService.tsx index 0b57f6d6d..eb9732290 100644 --- a/spiffworkflow-frontend/src/services/DateAndTimeService.tsx +++ b/spiffworkflow-frontend/src/services/DateAndTimeService.tsx @@ -41,11 +41,15 @@ const convertDateObjectToFormattedString = (dateObject: Date) => { }; const dateStringToYMDFormat = (dateString: string) => { - if (dateString && dateString.match(/^\d{2}-\d{2}-\d{4}$/)) { - const newDate = parse(dateString, DATE_FORMAT, new Date()); - return format(newDate, 'yyyy-MM-dd'); + if (dateString && dateString.match(/^\d{4}-\d{2}-\d{2}$/)) { + return dateString; } - return dateString; + const newDate = parse(dateString, DATE_FORMAT, new Date()); + // getTime returns NaN if the date is invalid + if (Number.isNaN(newDate.getTime())) { + return dateString; + } + return format(newDate, 'yyyy-MM-dd'); }; const convertDateAndTimeStringsToDate = (