🐞 - TuiDay не корректно парсит дату
evoytenkoapps opened this issue · comments
Playground Link
No response
Description
при дате '2024-1-20'; месяц уходит в дату
при '2024-01-20'; все норм
мне кажется что если есть тире, то это однозначный разделитель дат.
it('Должен конвертировать в дату тайги, через тире', () => {
const data = '2024-1-20';
const convertedData = {day: 20, month: 0, year: 2024} as TuiDay;
expect(service.formatTuiDay(data, 'YMD')).toEqual(convertedData);
});
// сам метод
formatTuiDay(date: string, dateMode?: TuiDateMode): TuiDay {
return TuiDay.normalizeParse(date, dateMode);
}
![Снимок экрана 2024-06-27 в 12 31 48](https://private-user-images.githubusercontent.com/26488952/343715456-6d6cddb5-af18-4bc1-a788-e54e2fad3cde.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIyMjgwMjIsIm5iZiI6MTcyMjIyNzcyMiwicGF0aCI6Ii8yNjQ4ODk1Mi8zNDM3MTU0NTYtNmQ2Y2RkYjUtYWYxOC00YmMxLWE3ODgtZTU0ZTJmYWQzY2RlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI5VDA0MzUyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk2OTNlNjliZWUyYmM3MzU1NmFkYTI4ZjZiY2Q4OTliNTE3ZWIxZWVkZjU1ZDk2NDk3OGQyOWY5NjkyOTkzN2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.yXki9nuqOCrIb-BtmTXdNZqh-qMj-LMqtIgoJUzMydc)
Angular version
No response
Taiga UI version
No response
Which browsers have you used?
- Chrome
- Firefox
- Safari
- Edge
Which operating systems have you used?
- macOS
- Windows
- Linux
- iOS
- Android
When you are using YMD
format, it expects 2 digit day and month: yyyy-mm-dd
.
Your 2024-1-20
date doesn't match the format. It should be 2024-01-20
instead.
Parsing logic:
taiga-ui/projects/cdk/date-time/day.ts
Line 124 in b4ca77b
hakimio is right, you should also see [parseRawDateString]: wrong date string length
assertion error in console. You are welcome to create a PR if you want to support this format, but currently it is working as planned. As a workaround TuiDay.fromLocalNativeDate(new Date('2024-1-20'))
seems to work.