From b12c44c99dbf04ca74f7084a18a6cee7a8379e81 Mon Sep 17 00:00:00 2001 From: b-l-i-n-d Date: Mon, 3 Aug 2026 11:57:57 +0600 Subject: [PATCH 1/2] fix(datepicker): replace legacy date format tokens with yyyy-MM-dd --- v2-library/src/components/datapicker/TutorDateRangePicker.js | 2 +- v2-library/src/components/datapicker/TutorDateTimePicker.js | 4 ++-- v2-library/src/components/datapicker/TutorDatepicker.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/v2-library/src/components/datapicker/TutorDateRangePicker.js b/v2-library/src/components/datapicker/TutorDateRangePicker.js index 5f036b224b..fedcadb7f7 100644 --- a/v2-library/src/components/datapicker/TutorDateRangePicker.js +++ b/v2-library/src/components/datapicker/TutorDateRangePicker.js @@ -9,7 +9,7 @@ const DatePicker = lazy(() => import(/* webpackChunkName: "tutor-react-datepicke const CalendarContainer = lazy(() => import('react-datepicker').then((module) => ({ default: module.CalendarContainer }))); const TutorDateRangePicker = () => { - const dateFormat = 'Y-M-d'; + const dateFormat = 'yyyy-MM-dd'; const [dropdownMonth, setDropdownMonth] = useState(false); const [dropdownYear, setDropdownYear] = useState(false); diff --git a/v2-library/src/components/datapicker/TutorDateTimePicker.js b/v2-library/src/components/datapicker/TutorDateTimePicker.js index 3be05be450..ba32e95728 100644 --- a/v2-library/src/components/datapicker/TutorDateTimePicker.js +++ b/v2-library/src/components/datapicker/TutorDateTimePicker.js @@ -29,7 +29,7 @@ const TutorDateTimePicker = (data) => { } - placeholderText="Y-M-d h:mm aa" + placeholderText="yyyy-MM-dd h:mm aa" selected={startDate} onChange={(date) => handleCalendarChange(date)} showPopperArrow={false} @@ -38,7 +38,7 @@ const TutorDateTimePicker = (data) => { onCalendarClose={handleCalendarClose} onClick={handleCalendarClose} timeCaption={__('Time', 'tutor')} - dateFormat="Y-M-d h:mm aa" + dateFormat="yyyy-MM-dd h:mm aa" minDate={data.disable_previous ? new Date() : false} formatWeekDay={(nameOfDay) => translateWeekday(nameOfDay)} calendarStartDay={_tutorobject.start_of_week} diff --git a/v2-library/src/components/datapicker/TutorDatepicker.js b/v2-library/src/components/datapicker/TutorDatepicker.js index 1d7703c53d..0f7ba8c4b0 100644 --- a/v2-library/src/components/datapicker/TutorDatepicker.js +++ b/v2-library/src/components/datapicker/TutorDatepicker.js @@ -20,7 +20,7 @@ const TutorDatepicker = (data) => { if (data.disable_past_date) { isPreviousDateAllowed = false; } - const dateFormat = 'Y-M-d'; + const dateFormat = 'yyyy-MM-dd'; const default_date = data.input_value || null; const url = new URL(window.location.href); const params = url.searchParams; From fda905de57767c50dc4aa7f617d808a05d097215 Mon Sep 17 00:00:00 2001 From: b-l-i-n-d Date: Mon, 3 Aug 2026 11:58:04 +0600 Subject: [PATCH 2/2] fix(datepicker): parse date param via stringToDate and coerce to string --- v2-library/src/components/datapicker/TutorDatepicker.js | 2 +- v2-library/src/components/datapicker/utils.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/v2-library/src/components/datapicker/TutorDatepicker.js b/v2-library/src/components/datapicker/TutorDatepicker.js index 0f7ba8c4b0..78859047d3 100644 --- a/v2-library/src/components/datapicker/TutorDatepicker.js +++ b/v2-library/src/components/datapicker/TutorDatepicker.js @@ -47,7 +47,7 @@ const TutorDatepicker = (data) => { useEffect(() => { if (params.has('date') && !!params.get('date')) { - setStartDate(new Date(params.get('date'))); + setStartDate(stringToDate(params.get('date'), 'yyyy-mm-dd', '-')); } }, []); diff --git a/v2-library/src/components/datapicker/utils.js b/v2-library/src/components/datapicker/utils.js index 81a4c62018..c1ea9a0edb 100644 --- a/v2-library/src/components/datapicker/utils.js +++ b/v2-library/src/components/datapicker/utils.js @@ -31,7 +31,7 @@ export const weeks = [ export function stringToDate(_date, _format, _delimiter) { const formatLowerCase = _format.toLowerCase(); const formatItems = formatLowerCase.split(_delimiter); - const dateItems = _date.split(_delimiter); + const dateItems = String(_date).split(_delimiter); const monthIndex = formatItems.indexOf('mm'); const dayIndex = formatItems.indexOf('dd'); const yearIndex = formatItems.indexOf('yyyy');