Kein Standard
Diese Funktion entspricht nicht dem Standard und ist nicht Teil der Standardisierung. Diese Funktion darf nicht in Webseiten, die via das Internet zugänglich sind, benutzt werden: Sie wird nicht für alle Nutzer funktionieren. Es kann zu umfangreichen Inkompatibilitäten zwischen verschiedenen Implementierungen kommen und die Funktionsweise oder Eigenschaften könnten in der Zukunft verändert werden.
toLocaleFormat()
konvertiert einen date
Objekt zu einem String im übergebenen Format. Intl.DateTimeFormat
ist einen standardisierte Alternative zum Formatieren von Date
Objekten. Siehe auch die neuere Version der Date.prototype.toLocaleDateString()
Methode an.Syntax
dateObj.toLocaleFormat(formatString)
Parameter
formatString
- Ein Formatstring, welche im selben Format sein muss, wie es die C Funktion
strftime()
erwartet.
Rückgabewert
Einen String, der das gegebenen Date
Objekt im spezifizierten Format repräsentiert.
Beschreibung
Die toLocaleFormat()
Methode ermöglicht es eine größere Kontrolle über das Formatieren von generierten Daten und/oder Zeiten zu haben. Namen für Monate und Wochentage werden mit den Spracheinstellungen des Betriebssystem formatiert. Die Anordnung von Tagen, Monaten und anderen Bestandteilen in der Formatierung wird nicht automatisch vorgenommen. Sie sind von den Angaben in dem Formatierungsstring abhängig. Man muss dafür sorgen, dass der Formatierungsstring zu richtigen Ergebnissen auf dem Benutzersystem führt. Man sollte vorsichtig sein, weil die Spracheinstellungen im Browser nicht die gleichen sein müssen, wie die des Betriebssystems.
Extension und XULRunner Entwickler wissen, dass das Laden von Formatstring aus .dtd
oder .properties
Dateien mit dem Einsatz von URIs (z. B. chrome://somedomain/locale/somefile.ext
) vermieden werden sollte, weil .dtd
/.properties
Dateien und die toLocaleFormat()
Methode nicht notwendiger Weise der gleichen Sprache folgen. Dieses kann zu nicht lesbaren oder merkwürdig formatierten Daten führen.
Außerdem ist zu beachten, dass der Einsatz von Formatierungen abhängig von der Plattform und den benutzerdefinierten Einstellungen des Benutzers nicht immer gewollt ist. Man sollte stattdessen die allgemeineren toLocale*
Methoden des Date
Objektes nutzen oder ein eigenes Format mit den get*
Methoden einer Date
Instanz erstellen.
Beispiele
Einsatz von toLocaleFormat()
var today = new Date(); var date = today.toLocaleFormat('%A, %B %e, %Y'); // Schlechtes Beispiel
Im Beispiel gibt toLocaleFormat()
einen String wie "Mittwoch, Oktober 3, 2007" zurück. Zu beachten ist, dass der String nicht unbedingt den Sprachegegebenheiten angepasst ist, was auf die oben genannten Probleme zurückzuführen ist.
Polyfill
Wenn die DateJS Bibliothek benutzt wird, kann folgender Polyfill benutzt werden:
if (!Date.prototype.toLocaleFormat) { (function() { Date.prototype.toLocaleFormat = function(formatString) { return this.format(formatString); }; }()); }
Spezifikationen
Nicht spezifiziert. Implementiert in JavaScript 1.6.
Browserkompatibilität
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | ? | (Ja) | Nicht unterstützt | ? | ? |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | ? | (Ja) | ? | ? | ? |