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.DateTimeFormatObjekt 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 trueund 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