Skip to content

Commit 1563243

Browse files
authored
fix: invalid date parsing (#8265)
1 parent ab480c9 commit 1563243

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

packages/@internationalized/date/src/string.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export function parseDate(value: string): CalendarDate {
5555
1
5656
);
5757

58-
date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));
58+
date.day = parseNumber(m[3], 1, date.calendar.getDaysInMonth(date));
5959
return date as CalendarDate;
6060
}
6161

@@ -194,7 +194,7 @@ export function dateToString(date: CalendarDate): string {
194194
let gregorianDate = toCalendar(date, new GregorianCalendar());
195195
let year: string;
196196
if (gregorianDate.era === 'BC') {
197-
year = gregorianDate.year === 1
197+
year = gregorianDate.year === 1
198198
? '0000'
199199
: '-' + String(Math.abs(1 - gregorianDate.year)).padStart(6, '00');
200200
} else {

packages/@internationalized/date/tests/string.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ describe('string conversion', function () {
109109
expect(() => parseDate('2020-13-03')).toThrow();
110110
expect(() => parseDate('2020-01-32')).toThrow();
111111
expect(() => parseDate('2020-02-30')).toThrow();
112+
expect(() => parseDate('2024-01-00')).toThrow();
112113
});
113114
});
114115

0 commit comments

Comments
 (0)