In aktuellen Chrome, Firefox und Safari Intl.DateTimeFormat
für den Lokalisierungs it-CH
(italienische Schweiz) ist falsch:Intl.DateTimeFormat produziert falsches Format
new window.Intl.DateTimeFormat('it-CH').format(new Date()) // -> "6/7/2017"
new window.Intl.DateTimeFormat('fr-CH').format(new Date()) // -> "06.07.2017"
new window.Intl.DateTimeFormat('de-CH').format(new Date()) // -> "06.07.2017"
Der Ausgang der ersten Zeile falsch ist. In allen Teilen der Schweiz sollte das Format "dd.mm.yyyy"
Interessanterweise IE11 & Edge den richtigen Ausgang für das obige Snippet produzieren.
Was ist der beste Weg, um die fehlerhafte Implementierung von window.Intl in bestimmten Browsern zu reparieren/zu korrigieren?
Leider scheint dies in Chrome nicht zu funktionieren. Das Festlegen der 'Format'-Funktion für das systemeigene' DateTimeFormat' scheint nicht möglich zu sein. Einstellen hat es einfach keine Wirkung ... – jbandi
Ich habe eine Follow-up-Frage hier: https://StackOverflow.com/Questions/45077313/understanding-intl-datetimeformat-as-a-javascript-object – jbandi
@jbandi Ah, Aha. Hoffentlich könntest du den Code aus meinem Vorschlag in einer Utility-Funktion verwenden und das verwenden, aber wenn du auf eine 3rd-Party-Bibliothek verlassst, die 'Intl.DateTimeFormat' intern benutzt, ist das leider keine Option. –