@@ -177,7 +177,7 @@ const parseYearString = dateString => {
177177 return createDateFromYear ( groups )
178178 }
179179
180- return parseWithTimezoneOffset ( yearString )
180+ return parseLocalDateString ( yearString )
181181}
182182
183183/**
@@ -415,7 +415,7 @@ const parseDayString = (dateString, locale, includeTime) => {
415415
416416 if ( hasDateSeparators && hasMultipleParts ) {
417417 // Use fallback for complete date strings that don't match locale patterns
418- return parseWithTimezoneOffset ( dateString )
418+ return parseLocalDateString ( dateString )
419419 }
420420
421421 // For incomplete input like "1" or "12", return null
@@ -438,15 +438,14 @@ const parseDayString = (dateString, locale, includeTime) => {
438438}
439439
440440/**
441- * Parses a date string with timezone offset adjustment .
441+ * Parses a date string into a local Date object .
442442 * @param dateString - The date string to parse.
443- * @returns The Date object with timezone offset applied , or null if invalid.
443+ * @returns The Date object in local timezone , or null if invalid.
444444 */
445- const parseWithTimezoneOffset = dateString => {
445+ const parseLocalDateString = dateString => {
446446 const _date = new Date ( Date . parse ( dateString ) )
447447 if ( ! Number . isNaN ( _date . getTime ( ) ) ) {
448- const userTimezoneOffset = _date . getTimezoneOffset ( ) * 60_000
449- return new Date ( _date . getTime ( ) + userTimezoneOffset )
448+ return _date
450449 }
451450
452451 return null
@@ -796,10 +795,16 @@ export const getMonthDetails = (year, month, firstDayOfWeek) => {
796795
797796 if ( ( index + 1 ) % 7 === 0 ) {
798797 const { weekNumber, year } = getISOWeekNumberAndYear ( day . date )
799- weeks . at ( - 1 ) . week = { number : weekNumber , year }
798+ const lastWeek = weeks . at ( - 1 )
799+ if ( lastWeek ) {
800+ lastWeek . week = { number : weekNumber , year }
801+ }
800802 }
801803
802- weeks . at ( - 1 ) . days . push ( day )
804+ const lastWeek = weeks . at ( - 1 )
805+ if ( lastWeek ) {
806+ lastWeek . days . push ( day )
807+ }
803808 }
804809
805810 return weeks
0 commit comments