Eine nützliche und flexible Möglichkeit zum Formatieren der DateTimes in JavaScript ist Intl.DateTimeFormat
:
var date = new Date();
var options = { year: 'numeric', month: 'short', day: '2-digit'};
var _resultDate = new Intl.DateTimeFormat('en-GB', options).format(date);
// The _resultDate is: "12 Oct 2017"
// Replace all spaces with - and then log it.
console.log(_resultDate.replace(/ /g,'-'));
Ergebnis ist: "12-Oct-2017"
Die Datums- und Uhrzeitformate können mithilfe des Optionsarguments angepasst werden.
Das Intl.DateTimeFormat
Objekt ist ein Konstruktor für Objekte, die eine sprachempfindliche Formatierung von Datum und Uhrzeit ermöglichen.
Syntax
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
Parameter
Gebietsschemas
Optional. Eine Zeichenfolge mit einem BCP 47-Sprach-Tag oder ein Array solcher Zeichenfolgen. Die allgemeine Form und Interpretation des Gebietsschemas finden Sie auf der Seite Intl. Die folgenden Unicode-Erweiterungsschlüssel sind zulässig:
nu
Numbering system. Possible values include: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Calendar. Possible values include: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
Optionen
Optional. Ein Objekt mit einigen oder allen der folgenden Eigenschaften:
localeMatcher
Der zu verwendende Gebietsschema-Matching-Algorithmus. Mögliche Werte sind "lookup"
und "best fit"
; Der Standardwert ist "best fit"
. Informationen zu dieser Option finden Sie auf der Seite Intl.
Zeitzone
Die zu verwendende Zeitzone. Der einzige Wert, den Implementierungen erkennen müssen, ist "UTC"
: Der Standardwert ist die Standardzeitzone der Laufzeit. Implementierungen können auch die Zeitzonennamen der IANA Zeitzonendatenbank erkennen, wie "Asia/Shanghai"
, "Asia/Kolkata"
, "America/New_York"
.
Stunde12
Gibt an, ob eine 12-Stunden-Zeit verwendet werden soll (im Gegensatz zu einer 24-Stunden-Zeit). Mögliche Werte sind true
und false
; Die Standardeinstellung ist vom Gebietsschema abhängig.
formatMatcher
Der zu verwendende Formatanpassungsalgorithmus. Mögliche Werte sind "basic"
und "best fit"
; Der Standardwert ist "best fit"
. Informationen zur Verwendung dieser Eigenschaft finden Sie in den folgenden Abschnitten.
Die folgenden Eigenschaften beschreiben die Datums- / Uhrzeitkomponenten, die in der formatierten Ausgabe verwendet werden sollen, und ihre gewünschten Darstellungen. Implementierungen sind erforderlich, um mindestens die folgenden Teilmengen zu unterstützen:
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
Implementierungen unterstützen möglicherweise andere Teilmengen, und Anforderungen werden gegen alle verfügbaren Teilmengen-Repräsentationskombinationen ausgehandelt, um die beste Übereinstimmung zu finden. Für diese Aushandlung stehen zwei Algorithmen zur Verfügung, die von der formatMatcher-Eigenschaft ausgewählt werden: Ein vollständig spezifizierter "basic"
Algorithmus und ein implementierungsabhängiger "Best-Fit" -Algorithmus.
Wochentag
Die Darstellung des Wochentags. Mögliche Werte sind "narrow"
, "short"
, "long"
.
Epoche
Die Darstellung der Ära. Mögliche Werte sind "narrow"
, "short"
, "long"
.
Jahr
Die Darstellung des Jahres. Mögliche Werte sind "numeric"
, "2-digit"
.
Monat
Die Darstellung des Monats. Mögliche Werte sind "numeric"
, "2-digit"
, "narrow"
, "short"
, "long"
.
Tag
Die Darstellung des Tages. Mögliche Werte sind "numeric"
, "2-digit"
.
Stunde
Die Darstellung der Stunde. Mögliche Werte sind "numeric"
, "2-digit"
.
Minute
Die Darstellung der Minute. Mögliche Werte sind "numeric"
, "2-digit"
.
zweite
Die Darstellung des zweiten. Mögliche Werte sind "numeric"
, "2-digit"
.
timeZoneName
Die Darstellung des Zeitzonennamens. Mögliche Werte sind "short"
, "long"
. Der Standardwert für jede Datums- / Uhrzeit-Komponenteneigenschaft ist undefiniert. Wenn jedoch alle Komponenteneigenschaften undefiniert sind, werden Jahr, Monat und Tag angenommen "numeric"
.
Online prüfen
Mehr Details