Die toLocaleString() Methode gibt einen sprachsensitiven String mit dem Zeitpunkt 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.toLocaleString([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".
hc
Stundenzyklus. Mögliche Werte sind: "h11", "h12", "h23", "h24".
options

Optional. Ein Objekt mit einigen oder allen folgenden Eigenschaften:

localeMatcher
Der Sprachfindungsalgorithmus, 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. Manche 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. Diese Option überschreibt den  hc Sprachen-Tag und/oder hourCycle wenn beide vorhanden sind.
hourCycle
Der eingesetzte Stundenzyklus. Mögliche Werte sind "h11", "h12", "h23" oder "h24". Diese Option überschreibt den  hc Sprachen-Tag, wenn beide präsent sind und die hour12 Option hat Vorrang, wenn beide Optionen spezifiziert sind.
formatMatcher
Der eingesetzte Formaterkennungsalgorithmus. Mögliche Werte sind "basic" und "best fit". Der Standard ist "best fit". Siehe folgenden Absatz, 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, hour, minute, second undefined sind, sind die Eigenschaften year, month, day, hour, minute und second "numeric".
 

Rückgabewert

Einen String, der das gegebenen Date Objektes mit sprachspezifischen Konventionen repräsentiert.

Beispiele

Einsatz von toLocaleString()

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));

// toLocaleString() ohne Argumente abhängig von der Implementierung, 
// der Standardsprache und der Standardzeitzone. 
console.log(date.toLocaleString());
// → "12/11/2012, 7:00:00 PM" 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 toLocaleStringSupportsLocales() {
  try {
    new Date().toLocaleString('i');
  } catch (e) {
    return e instanceof RangeError;
  }
  return false;
}

Einsatz von locales

Das Beispiel zeigt einige Variation von internationalisierten Datums- und Zeitformaten. 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 mit Monat-Tag-Jahr und 12-Stunden Zeit mit AM/PM
console.log(date.toLocaleString('en-US'));
// → "12/19/2012, 7:00:00 PM"

// Britisch englischer Einsatz mit Tag-Monat-Jahr und 24-Stunden Zeit ohne AM/PM
console.log(date.toLocaleString('en-GB'));
// → "20/12/2012 03:00:00"

// Koreanischer Einsatz mit Jahr-Monat-Tag und 12-Stunden Zeit mit AM/PM
console.log(date.toLocaleString('ko-KR'));
// → "2012. 12. 20. 오후 12:00:00"

// In den meisten arabischen Ländern werden arabische Ziffern genutzt.
console.log(date.toLocaleString('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.toLocaleString('ja-JP-u-ca-japanese'));
// → "24/12/20 12:00:00"

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

Einsatz von options

Das Ergebnis der toLocaleString() 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.toLocaleString('de-DE', options));
// → "Donnerstag, 20. Dezember 2012"

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

// Manchal brauchen US-Sprachen auch 24-Stunden Zeiten
console.log(date.toLocaleString('en-US', { hour12: false }));
// → "12/19/2012, 19:00:00"

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 1st Edition (ECMA-262) Standard Initiale Definition. Implementiert in JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Date.prototype.toLocaleString' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Date.prototype.toLocaleString' in dieser Spezifikation.
Standard  
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Date.prototype.toLocaleString' in dieser Spezifikation.
Entwurf  
ECMAScript Internationalization API 1.0 (ECMA-402)
Die Definition von 'Date.prototype.toLocaleString' in dieser Spezifikation.
Standard Definition der locales und options Argumente.
ECMAScript Internationalization API 2.0 (ECMA-402)
Die Definition von 'Date.prototype.toLocaleString' in dieser Spezifikation.
Standard  
ECMAScript Internationalization API 4.0 (ECMA-402)
Die Definition von 'Date.prototype.toLocaleString' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidEdge MobileFirefox für AndroidOpera für AndroidSafari auf iOSSamsung InternetNode.js
Grundlegende UnterstützungChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 1IE Vollständige Unterstützung JaOpera Vollständige Unterstützung JaSafari Vollständige Unterstützung JaWebView Android Vollständige Unterstützung JaChrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung JaSafari iOS Vollständige Unterstützung JaSamsung Internet Android Vollständige Unterstützung Janodejs ?
localesChrome Vollständige Unterstützung 24Edge ? Firefox Vollständige Unterstützung 29IE Vollständige Unterstützung 11Opera Vollständige Unterstützung 15Safari Vollständige Unterstützung 10WebView Android Keine Unterstützung NeinChrome Android Vollständige Unterstützung 26Edge Mobile ? Firefox Android Vollständige Unterstützung 56Opera Android Keine Unterstützung NeinSafari iOS Vollständige Unterstützung 10Samsung Internet Android Vollständige Unterstützung Janodejs ?
optionsChrome Vollständige Unterstützung 24Edge ? Firefox Vollständige Unterstützung 29IE Vollständige Unterstützung 11Opera Vollständige Unterstützung 15Safari Vollständige Unterstützung 10WebView Android Keine Unterstützung NeinChrome Android Vollständige Unterstützung 26Edge Mobile ? Firefox Android Vollständige Unterstützung 56Opera Android Keine Unterstützung NeinSafari iOS Vollständige Unterstützung 10Samsung Internet Android Vollständige Unterstützung Janodejs ?
IANA time zone names in timeZone optionChrome Vollständige Unterstützung 24Edge ? Firefox Vollständige Unterstützung 52IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Keine Unterstützung NeinOpera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Kompatibilität unbekannt  
Kompatibilität unbekannt

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

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