Date.prototype.toLocaleDateString()

Die toLocaleDateString() Methode gibt einen sprachsensitiven String mit dem Datumsteil des Zeitpunktes zurück. Die neuen Argumente locales und options können eingesetzt werden, um die Sprache (und damit die Formatierung) einzustellen oder benutzerdefinierte Formatierungen vorzunehmen. In älteren Implementierungen, die locales und options ignorieren, ist die Formatierung des String implementierungsabhängig.
 

Syntax

dateObj.toLocaleDateString([locales [, options]])

Parameter

Überprüfe das Kapitel Browserkompatibilität, um zu erfahren, welcher Browser die Argumente locales and options unterstützt. Zudem sollte das Beispiel Unterstützung der Argumente locales und options beachtet werden.

locales
Optional. Ein String mit einem BCP 47 Sprachcode, oder einem Array von Sprachcodes. Für die generelle Form und Interpretation des locales Arguments siehe auf der Intl Seite. Die folgenden  Unicode Erweiterungen sind erlaubt:
nu
Zahlensysteme. Mögliche Werte sind: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Kalender. Mögliche Werte sind: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
options

Optional. Ein Objekt mit einigen oder allen folgenden Eigenschaften:

localeMatcher
Der Sprachfindungsangorithmus, der eingesetzt wird. Mögliche Werte sind "lookup" und "best fit". Als Standard ist "best fit" vorgegeben. Für informationen über diese Option siehe auf der Intl Seite nach.
timeZone
Die eingesetzte Zeitzone. Der einzige Wert, den alle Implementierungen verstehen ist "UTC". Der Standardwert ist die Standard-Laufzeitzeitzone. Manchde Implementierungen erkennen auch die namen der IANA Zeitzonendatenbank, wie zum Beispiel "Asia/Shanghai", "Asia/Kolkata" und "America/New_York".
hour12
Wird eingesetzt, wenn 12-Stunden Zeitangaben eingesetzt werden (im gegensatz zu 24-Stunden Zeitangaben). Mögliche Werte sind true und false. Der standard ist von locales abhängig.
formatMatcher
Der eingesetzte Formaterkennungsalgorithmus. Mögliche Werte sind "basic" und "best fit". Der Standatd ist "best fit". Siehe im  folgenden Paragraphen, um den Einsatz dieses Parameters zu verstehen.

Die folgenden Eigenschaften beschreiben die Datums-Zeit-Komponenten, die für die formatierten Ausgabe eingesetzt werden und deren repräsentation. Implementierungen müssen folgende Kombinationen der Eigenschaften unterstützen:

  • Wochentag, Jahr, Monat, Tag, Stunde, Minute, Sekunde
  • Wochentag, Jahr, Monat, Tag
  • Jahr, Monat, Tag
  • Jahr, Monat
  • Monat, Tag
  • Stunde, Minute, Sekunde
  • Stunde, Minute

Manche Implementierungen unterstützen weitere Kombinationen der Parameter. Es wird immer auf alle möglichen Kombinationen geprüft, um den besten Treffer zu landen. Zwei Algorithmen sind für die Auswahl der Kombination vorhanden: Ein voll spezifizierter "basic" Algorithmus und ein implementierungsabhängiger "best fit" Algorithmus.

weekday
Die Repräsentation der Wochentage. Mögliche Werte sind "narrow", "short" und "long".
era
Die Repräsentation der Epoche. Mögliche Werte sind "narrow", "short" und "long".
year
Die Repräsentation des Jahres. Mögliche Werte sind "numeric" und "2-digit".
month
Die Repräsentation des Monats. Mögliche Werte sind "numeric", "2-digit", "narrow", "short" und "long".
day
Die Repräsentation des Tages. Mögliche Werte sind "numeric" und "2-digit".
hour
Die Repräsentation der Stunden. Mögliche Werte sind "numeric" und "2-digit".
minute
Die Repräsentation der Minuten. Mögliche Werte sind "numeric" und "2-digit".
second
Die Repräsentation der Sekunden. Mögliche Werte sind "numeric" und "2-digit".
timeZoneName
Die Repräsentation des Zeitzonennamens. Mögliche Werte sind "short" und "long".
 

Der Standardwert für jede Eigenschaft einer Datums-Zeitkomponente ist undefined, wenn aber die Eigenschaften weekday, year, month, day undefined sind, sind die Eigenschaften year, month, und day "numeric".

Rückgabewert

Einen String, der den Datumsteil des gegebenen Date Objektes mit sprachspezifischen Konventionen repräsentiert.

Beispiele

Einsatz von toLocaleDateString()

Standardeinsatz ohne Angaben zur Sprache und Formatierung. Ein formatierter String in der Standardsprache mit Standardoption wird zurückgegeben.

var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));

// toLocaleDateString() ohne Argumente abhängig von der Implementierung,
// der Standardsprache und der Standardzeitzone.
console.log(date.toLocaleDateString());
// → "12/11/2012" wenn in der Sprache en-US mit America/Los_Angeles Zeitzone ausgeführt

Unterstützung der Argumente locales und options

Die Argumente locales and options sind noch nicht in allen Browsern unterstützt. Um herauszufinden, ob eine Implementierung die Argumente unterstützt, kann die Anforderung benutzt werden, dass bei nicht existierenden Sprachen ein RangeError erzeugt wird:

function toLocaleDateStringSupportsLocales() {
  try {
    new Date().toLocaleDateString('i');
  } catch (e) {
    return e.name === 'RangeError';
  }
  return false;
}

Einsatz von locales

Das Beispiel zeigt einige Variation von internationalisierten Datumsformaten. Um das Format der Sprache der Benutzerschnittstelle (z. B. Webseite) zu bekommen, muss die Sprache (und manchmal eine fallback Sprache) mit dem Argument locales gesetzt werden:

var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// US Englischer Einsatz von Monat-Tag-Jahr
console.log(date.toLocaleDateString('en-US'));
// → "12/19/2012"

// British Englischer Einsatz von Tag-Monat-Jahr
console.log(date.toLocaleDateString('en-GB'));
// → "20/12/2012"

// Koreanischer Einsatz von Jahr-Monat-Tag
console.log(date.toLocaleDateString('ko-KR'));
// → "2012. 12. 20."

// In den meisten arabischen Ländern werden arabische Ziffern genutzt.
console.log(date.toLocaleDateString('ar-EG'));
// → "٢٠‏/١٢‏/٢٠١٢"

// Für mansche japanische Anwendungen wird er japanische Kalender benutzt,
// bei dem das Jahr 2012 das Jahr 24 der Heisei-Zeit ist.
console.log(date.toLocaleDateString('ja-JP-u-ca-japanese'));
// → "24/12/20"

// Wenn eine Sprache angegeben wird, die vielleicht nicht unterstützt wird,
// wie Balinesisch, wird eine fallback Sprache (Indonesisch) definiert.
console.log(date.toLocaleDateString(['ban', 'id']));
// → "20/12/2012"

Einsatz von options

Das Ergebnis der toLocaleDateString() Methode kann benutzerdefiniert mit dem Argument options beeinflusst werden.

var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// Gibt einen Wochentag und ein langes Datum zurück.
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
console.log(date.toLocaleDateString('de-DE', options));
// → "Donnerstag, 20. Dezember 2012"

// Macht UTC sichtbar
options.timeZone = 'UTC';
options.timeZoneName = 'short';
console.log(date.toLocaleDateString('en-US', options));
// → "Thursday, December 20, 2012, GMT"

Performance

Wenn viele Daten formatiert werden sollen, ist es besser ein Intl.DateTimeFormat Objekt zu erstellen und die Funktion format zu benutzen.

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 3rd Edition (ECMA-262) Standard Initiale Definition. Implementiert in JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Date.prototype.toLocaleDateString' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Date.prototype.toLocaleDateString' in dieser Spezifikation.
Standard  
ECMAScript 2017 Draft (ECMA-262)
Die Definition von 'Date.prototype.toLocaleDateString' in dieser Spezifikation.
Entwurf  
ECMAScript Internationalization API 1.0 (ECMA-402)
Die Definition von 'Date.prototype.toLocaleDateString' in dieser Spezifikation.
Standard Definition der locales und options Argumente.
ECMAScript Internationalization API 2.0 (ECMA-402)
Die Definition von 'Date.prototype.toLocaleDateString' in dieser Spezifikation.
Standard  
ECMAScript Internationalization API 4.0 (ECMA-402)
Die Definition von 'Date.prototype.toLocaleDateString' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Ja) (Ja) (Ja) (Ja) (Ja)
locales and options arguments 24 [1] 29 (29) 11 15 Nightly build[2]
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Ja) (Ja) (Ja) (Ja) (Ja) (Ja)
locales and options arguments Nicht unterstützt 26 Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt

[1] Chrome 24 hat eine Unterstützung für andere Zeitzonen außer der UTC hinzugefügt.

[2] Siehe WebKit bug.

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,