Temporal.PlainTime.prototype.toLocaleString()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die toLocaleString() Methode von Temporal.PlainTime Instanzen gibt eine sprachsensitiv formatierte Zeichenkette dieser Zeit zurück. In Implementierungen mit Unterstützung der Intl.DateTimeFormat API delegiert diese Methode an Intl.DateTimeFormat.
Jedes Mal, wenn toLocaleString aufgerufen wird, muss eine Suche in einer großen Datenbank mit Lokalisierungszeichenfolgen durchgeführt werden, was potenziell ineffizient ist. Wenn die Methode viele Male mit denselben Argumenten aufgerufen wird, ist es besser, ein Intl.DateTimeFormat Objekt zu erstellen und die format() Methode zu verwenden, da ein DateTimeFormat Objekt sich die übergebenen Argumente merkt und entscheiden kann, einen Ausschnitt der Datenbank zwischenzuspeichern, so dass zukünftige format Aufrufe Lokalisierungszeichenfolgen in einem eingeschränkteren Kontext suchen können.
Syntax
toLocaleString()
toLocaleString(locales)
toLocaleString(locales, options)
Parameter
Die Parameter locales und options passen das Verhalten der Funktion an und erlauben es Anwendungen, die Sprache anzugeben, deren Formatierungsrichtlinien verwendet werden sollen.
In Implementierungen, die die Intl.DateTimeFormat API unterstützen, entsprechen diese Parameter genau den Parametern des Intl.DateTimeFormat() Konstruktors. Implementierungen ohne Unterstützung von Intl.DateTimeFormat geben exakt denselben String zurück wie toString(), indem beide Parameter ignoriert werden.
localesOptional-
Ein String mit einem BCP 47 Sprach-Tag oder ein Array solcher Strings. Entspricht dem
localesParameter desIntl.DateTimeFormat()Konstruktors. optionsOptional-
Ein Objekt, das das Ausgabeformat anpasst. Entspricht dem
optionsParameter desIntl.DateTimeFormat()Konstruktors. In Bezug auf die Datum-Zeit-Komponentenoptionen und die Stil-Abkürzungen (dateStyleundtimeStyle) sollten die Optionen eine der folgenden Formen annehmen:- Keine von ihnen angeben:
hour,minuteundsecondwerden standardmäßig auf"numeric"gesetzt. - Nur
timeStyleangeben: es erweitert sich zu den FormatendayPeriod,hour,minute,secondundfractionalSecondDigits. - Einige Datum-Zeit-Komponentenoptionen angeben, wobei mindestens eine davon eine Zeitoption (
dayPeriod,hour,minute,second,fractionalSecondDigits) ist. Nur die angegebenen Zeitkomponenten werden in der Ausgabe enthalten sein.
- Keine von ihnen angeben:
Siehe den Intl.DateTimeFormat() Konstruktor für Details zu diesen Parametern und deren Verwendung.
Rückgabewert
Eine Zeichenkette, die die angegebene Zeit gemäß sprachspezifischen Konventionen darstellt.
In Implementierungen mit Intl.DateTimeFormat entspricht dies new Intl.DateTimeFormat(locales, options).format(time), wobei options wie oben beschrieben normalisiert wurden.
Hinweis:
Meistens ist die von toLocaleString() zurückgegebene Formatierung konsistent. Allerdings kann die Ausgabe zwischen den Implementierungen variieren, selbst innerhalb derselben Lokale — Abweichungen in der Ausgabe sind gewollt und von der Spezifikation erlaubt. Sie entspricht möglicherweise auch nicht Ihren Erwartungen. Beispielsweise kann die Zeichenfolge geschützte Leerzeichen verwenden oder von bidirektionalen Steuerzeichen umgeben sein. Sie sollten die Ergebnisse von toLocaleString() nicht mit fest codierten Konstanten vergleichen.
Ausnahmen
RangeError-
Wird ausgelöst, wenn eine der Optionen ungültig ist.
TypeError-
Wird ausgelöst, wenn eine der Optionen nicht vom erwarteten Typ ist.
Beispiele
>Verwendung von toLocaleString()
Die grundlegende Verwendung dieser Methode ohne Angabe eines locale gibt eine formatierte Zeichenkette in der Standardlokale und mit Standardoptionen zurück.
const time = Temporal.PlainTime.from("12:34:56");
console.log(time.toLocaleString()); // 12:34:56 PM (assuming en-US locale)
Verwendung von toLocaleString() mit Optionen
Sie können anpassen, welche Teile der Zeit in der Ausgabe enthalten sind, indem Sie den options Parameter angeben.
const time = Temporal.PlainTime.from("12:34:56");
time.toLocaleString("en-US", { timeStyle: "short" }); // 12:34 PM
time.toLocaleString("en-US", { hour: "2-digit" }); // 12 PM
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal.plaintime.prototype.tolocalestring> |