Agranom / ngx-material-timepicker

Material desing timepicker for Angular 6.0+
https://agranom.github.io/ngx-material-timepicker/
MIT License
342 stars 139 forks source link

Invalid DateTime #423

Closed moon-web75 closed 1 year ago

moon-web75 commented 1 year ago

I have updated chrome browser and then I am facing invalid DateTime and also your demo project facing same issue

Please refer this screenshot image (4)

Giandrys commented 1 year ago

I have the same problem...

pablomgs3 commented 1 year ago

I've spent the whole day trying to fix this myself but the problem is only happening on chrome. The issue seems to be related with chrome's locale format and how luxon parses the locale.

As a workaround, you can switch to the 24hr format in your input [format]="24"

Hope this helps until @Agranom can find a fix for this.

HelloooJoe commented 1 year ago

There hasn't been a release in over 3 years. Is no one maintaining this package anymore?

HelloooJoe commented 1 year ago

If anyone is looking for an alternative, check out igx-time-picker. I think its better. Especially for mobile devices. Stackblitz: https://stackblitz.com/edit/angular-kwdfqp

moon-web75 commented 1 year ago

There hasn't been a release in over 3 years. Is no one maintaining this package anymore? @CodeWorldIndustries I think no one is managing its package in the last 3 years 😔.

HelloooJoe commented 1 year ago

There hasn't been a release in over 3 years. Is no one maintaining this package anymore? @CodeWorldIndustries I think no one is managing its package in the last 3 years 😔.

sad day. Unfortunately, this package is no longer useable unless someone forks and fixes it. I would pitch in but I don't even know where to beginm

wratte commented 1 year ago

I found the problem causing this issue and I have been able to fix it. The default numbering system "latn" used to parse the time in locale string returns a Narrow No-Break Space (NNBSP) instead of standard space which cause the parse to fail. It doesn't happen for the 24h format because it uses another parsing system which is based on ISO time. If you need a quick fix you can add the following line of code at line 34 in the time-adapter.ts ".replace(/\u202F/g, ' ');" I don't know if this package is still maintained anymore but I could try to fork it and create a new version with the patch. Let me know if you're interested.

ashishpCACTUS commented 1 year ago

@wratte - Checking if you would be able to generate a patch. We are trying but not able to successfully run the solution as it is a older version of Angular and other dependencies

HelloooJoe commented 1 year ago

@wratte that would be great! Could you fork it and create a new version with the patch?

wratte commented 1 year ago

@ashishpCACTUS @CodeWorldIndustries - I forked, pull requested and the changes has been accepted by a contributor. Unfortunatly the unit tests are not working anymore probably due to the fact that this was not maitained for a long period of time. It will take make time to rewrite those tests. I'll see what I can do but I'm not to familiar with the luxon library dependency tests.

anandhv02 commented 1 year ago

@pablomgs3. You said, change the format from 12hr to 24hr. But it will show the time pop out like 24 format UI. But I am expecting the UI should be visible like 12hr format. How do I change that ?

clarnjan commented 1 year ago

@pablomgs3. You said, change the format from 12hr to 24hr. But it will show the time pop out like 24 format UI. But I am expecting the UI should be visible like 12hr format. How do I change that ? I managed to use 12hr format by downgrading the package to version 4.0.2

pablomgs3 commented 1 year ago

Update chrome to the lastest version (Version 110.0.5481.97 (Official Build)) It is working now :)