@@ -177,7 +177,7 @@ const parseYearString = dateString => {
177
177
return createDateFromYear ( groups )
178
178
}
179
179
180
- return parseWithTimezoneOffset ( yearString )
180
+ return parseLocalDateString ( yearString )
181
181
}
182
182
183
183
/**
@@ -415,7 +415,7 @@ const parseDayString = (dateString, locale, includeTime) => {
415
415
416
416
if ( hasDateSeparators && hasMultipleParts ) {
417
417
// Use fallback for complete date strings that don't match locale patterns
418
- return parseWithTimezoneOffset ( dateString )
418
+ return parseLocalDateString ( dateString )
419
419
}
420
420
421
421
// For incomplete input like "1" or "12", return null
@@ -438,15 +438,14 @@ const parseDayString = (dateString, locale, includeTime) => {
438
438
}
439
439
440
440
/**
441
- * Parses a date string with timezone offset adjustment .
441
+ * Parses a date string into a local Date object .
442
442
* @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.
444
444
*/
445
- const parseWithTimezoneOffset = dateString => {
445
+ const parseLocalDateString = dateString => {
446
446
const _date = new Date ( Date . parse ( dateString ) )
447
447
if ( ! Number . isNaN ( _date . getTime ( ) ) ) {
448
- const userTimezoneOffset = _date . getTimezoneOffset ( ) * 60_000
449
- return new Date ( _date . getTime ( ) + userTimezoneOffset )
448
+ return _date
450
449
}
451
450
452
451
return null
@@ -796,10 +795,16 @@ export const getMonthDetails = (year, month, firstDayOfWeek) => {
796
795
797
796
if ( ( index + 1 ) % 7 === 0 ) {
798
797
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
+ }
800
802
}
801
803
802
- weeks . at ( - 1 ) . days . push ( day )
804
+ const lastWeek = weeks . at ( - 1 )
805
+ if ( lastWeek ) {
806
+ lastWeek . days . push ( day )
807
+ }
803
808
}
804
809
805
810
return weeks
0 commit comments