toLocaleTimeString
()
Methode gibt einen sprachsensitiven String mit dem Zeitsteil 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.toLocaleTimeString([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
undfalse
. Der standard ist vonlocales
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"
.
undefined
, wenn aber die Eigenschaften hour
, minute
, second
undefined
sind, sind die Eigenschaften hour
, minute
und second
"numeric"
.Rückgabewert
Einen String, der den Zeitteil des gegebenen Date
Objektes mit sprachspezifischen Konventionen repräsentiert.
Beispiele
Einsatz von toLocaleTimeString()
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)); // toLocaleTimeString() ohne Argumente abhängig von der Implementierung, // der Standardsprache und der Standardzeitzone. console.log(date.toLocaleTimeString()); // → "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 toLocaleTimeStringSupportsLocales() { try { new Date().toLocaleTimeString('i'); } catch (e) { return e.name === 'RangeError'; } return false; }
Einsatz von locales
Das Beispiel zeigt einige Variation von internationalisierten 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 Englische Sprache; 12-Stunden Zeit mit AM/PM
console.log(date.toLocaleTimeString('en-US'));
// → "7:00:00 PM"
// British Englishe Sprache; 24-Stunden Zeit ohne AM/PM
console.log(date.toLocaleTimeString('en-GB'));
// → "03:00:00"
// Koreanische Sprache; 12-Stunden Zeit mit AM/PM
console.log(date.toLocaleTimeString('ko-KR'));
// → "오후 12:00:00"
// In den meisten arabischen Ländern werden arabische Ziffern genutzt.
console.log(date.toLocaleTimeString('ar-EG'));
// → "٧:٠٠:٠٠ م"
// Wenn eine Sprache angegeben wird, die vielleicht nicht unterstützt wird,
// wie Balinesisch, wird eine fallback Sprache (Indonesisch) definiert.
console.log(date.toLocaleTimeString(['ban', 'id']));
// → "11.00.00"
Einsatz von options
Das Ergebnis der toLocaleTimeString
()
Methode kann benutzerdefiniert mit dem Argument options
beeinflusst werden.
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0)); // Macht UTC sichtbar var options = { timeZone: 'UTC', timeZoneName: 'short' }; console.log(date.toLocaleTimeString('en-US', options)); // → "3:00:00 AM GMT" // Manchal brauchen US-Sprachen auch 24-Stunden Zeiten console.log(date.toLocaleTimeString('en-US', { hour12: false })); // → "19:00:00"
Performance
Wenn viele Zeiten 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.toLocaleTimeString' in dieser Spezifikation. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Date.prototype.toLocaleTimeString' in dieser Spezifikation. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'Date.prototype.toLocaleTimeString' in dieser Spezifikation. |
Entwurf | |
ECMAScript Internationalization API 1.0 (ECMA-402) Die Definition von 'Date.prototype.toLocaleTimeString' in dieser Spezifikation. |
Standard | Definition der locales und options Argumente. |
ECMAScript Internationalization API 2.0 (ECMA-402) Die Definition von 'Date.prototype.toLocaleTimeString' in dieser Spezifikation. |
Standard | |
ECMAScript Internationalization API 4.0 (ECMA-402) Die Definition von 'Date.prototype.toLocaleTimeString' 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 | 29 (29) | 11 | 15 | Nicht unterstützt |
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 |