Skip to content

datepicker: shows date using provided LOCALE_ID but parses date using default US locale (or a combination of them) #14291

Open
@relair

Description

@relair

Bug, feature request, or proposal:

Bug. I don't think it is working like that on purpose.

What is the expected behavior?

Date picker uses provided en-GB LOCALE_ID for parsing typed in date - 27/10/2018 input manually by typing is valid

What is the current behavior?

Typed date is parsed using US locale - 27/10/2018 input manually is invalid, 12/01/2018 is December, not January.

What are the steps to reproduce?

https://stackblitz.com/edit/angular-datepicker-locale?file=main.ts

  1. Select 27/10/2018 using date picker.
  2. Modify the date by editing the input to 26/10/2018
  3. Observe invalid input

What is the use-case or motivation for changing an existing behavior?

Make material datepicker great again! But seriously: it seems like if a culture is provided it should affect both parsing and formatting aspects of dealing with dates and not format it into a date which is considered invalid when updated by typing.

Which versions of Angular, Material, OS, TypeScript, browsers are affected?

As in demo: Angular 7.1.0 Material 7.1.0. It fails validation on chrome if day (month?) is over 12, but on IE 11 is more curious as it modifies the year, I am fairly sure the swap issue causes it to work incorrectly on any browser.

Is there anything else we should know?

I think it may have been an issue with parsing the text date from text - it seems like it would parse using US culture ignoring provided locale.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: docsRelated to the documentationarea: material/datepickeri18nThis issue is related to internationalization

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions