Wenn wir anrufen getMonth()
y getDate()
en date
Objekt, erhalten wir die single digit number
. Zum Beispiel :
Für january
wird angezeigt 1
aber ich muss es anzeigen als 01
. Wie kann man das tun?
Wenn wir anrufen getMonth()
y getDate()
en date
Objekt, erhalten wir die single digit number
. Zum Beispiel :
Für january
wird angezeigt 1
aber ich muss es anzeigen als 01
. Wie kann man das tun?
Wenn Sie ein Format wie "JJJJ-MM-TTTHH:mm:ss" wünschen, könnte dies schneller gehen:
var date = new Date().toISOString().substr(0, 19);
// toISOString() will give you YYYY-MM-DDTHH:mm:ss.sssZ
Oder das in MySQL übliche Datumsformat "JJJJ-MM-TT HH:mm:ss":
var date2 = new Date().toISOString().substr(0, 19).replace('T', ' ');
Ich hoffe, das hilft
Warum nicht padStart
?
padStart(targetLength, padString)
wobei
targetLength
es 2
padString
es 0
// Source: https://stackoverflow.com/a/50769505/2965993
var dt = new Date();
year = dt.getFullYear(); month = (dt.getMonth() + 1).toString().padStart(2, "0"); day = dt.getDate().toString().padStart(2, "0");
console.log(year + '/' + month + '/' + day);
Es werden immer 2-stellige Zahlen zurückgegeben, auch wenn der Monat oder der Tag kleiner als 10 ist.
Anmerkungen:
getFullYear()
gibt die 4-stellige Jahreszahl zurück und erfordert keine padStart
.getMonth()
gibt den Monat von 0 bis 11 zurück.
getDate()
gibt den Tag von 1 bis 31 zurück.
07
und müssen daher vor dem Auffüllen der Zeichenkette keine 1 hinzufügen.Beispiel für den Monat:
function getMonth(date) {
var month = date.getMonth() + 1;
return month < 10 ? '0' + month : '' + month; // ('' + month) for string result
}
Sie können auch erweitern Date
Objekt mit einer solchen Funktion:
Date.prototype.getMonthFormatted = function() {
var month = this.getMonth() + 1;
return month < 10 ? '0' + month : '' + month; // ('' + month) for string result
}
Am besten ist es, wenn Sie einen eigenen einfachen Formatierer erstellen (siehe unten):
getDate()
gibt den Tag des Monats zurück (von 1-31)
getMonth()
gibt den Monat zurück (von 0-11) < nullbasiert, 0=Januar, 11=Dezember
getFullYear()
liefert das Jahr (vierstellig) < verwenden Sie nicht getYear()
function formatDateToString(date){
// 01, 02, 03, ... 29, 30, 31
var dd = (date.getDate() < 10 ? '0' : '') + date.getDate();
// 01, 02, 03, ... 10, 11, 12
var MM = ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1);
// 1970, 1971, ... 2015, 2016, ...
var yyyy = date.getFullYear();
// create the format you want
return (dd + "-" + MM + "-" + yyyy);
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.