611 Stimmen

Javascript fügt führende Nullen zum Datum hinzu

Ich habe dieses Skript erstellt, um das Datum für 10 Tage im Voraus im Format tt/mm/jjjj zu berechnen:

var MyDate = new Date();
var MyDateString = new Date();
MyDate.setDate(MyDate.getDate()+10);
MyDateString = MyDate.getDate() + '/' + (MyDate.getMonth()+1) + '/' + MyDate.getFullYear();

Ich muss das Datum mit führenden Nullen in der Tages- und Monatskomponente anzeigen lassen, indem ich diese Regeln zum Skript hinzufüge. Ich kann nicht scheinen, um es zum Funktionieren zu bringen.

if (MyDate.getMonth < 10)getMonth = '0' + getMonth;

y

if (MyDate.getDate <10)get.Date = '0' + getDate;

Wenn mir jemand zeigen könnte, wo ich diese in das Skript einfügen kann, wäre ich sehr dankbar.

1voto

Parameshwar Punkte 641

ToISOString kann führende 0 erhalten

    const currentdate = new Date(); 
    const date = new Date(Date.UTC(currentdate.getFullYear(), (currentdate.getMonth()),currentdate.getDate(), currentdate.getHours(), currentdate.getMinutes(), currentdate.getSeconds()));
    //you can pass YY, MM, DD //op: 2018-03-01
    //i have passed YY, MM, DD, HH, Min, Sec // op : 2021-06-09T12:14:27.000Z
    console.log(date.toISOString());

Die Ausgabe wird in etwa so aussehen: 2021-06-09T12:14:27.000Z

1voto

Angad Sandhu Punkte 21

Sie könnten einfach :

const d = new Date();
const day = `0${d.getDate()}`.slice(-2);

Es könnte also eine Funktion erstellt werden wie :

AddZero(val){
    // adding 0 if the value is a single digit
    return `0${val}`.slice(-2);
}

Ihr neuer Code :

var MyDate = new Date();
var MyDateString = new Date();

MyDate.setDate(MyDate.getDate()+10);
MyDateString = AddZero(MyDate.getDate()) + '/' + AddZero(MyDate.getMonth() + 1) + '/' + MyDate.getFullYear();

1voto

Julia Ramos Punkte 1

Sie können verwenden String.slice() die einen Abschnitt einer Zeichenkette extrahiert und als neue Zeichenkette zurückgibt, ohne die ursprüngliche Zeichenkette zu verändern:

const currentDate = new Date().toISOString().slice(0, 10) // 2020-04-16

Sie können aber auch eine Lib wie Moment.js um das Datum zu formatieren:

const moment = require("moment")
const currentDate = moment().format("YYYY-MM-DD") // 2020-04-16

1voto

vishu2124 Punkte 3438

Versuchen Sie dies für eine grundlegende Funktion, keine Bibliotheken erforderlich

Date.prototype.CustomformatDate = function() {
 var tmp = new Date(this.valueOf());
 var mm = tmp.getMonth() + 1;
 if (mm < 10) mm = "0" + mm;
 var dd = tmp.getDate();
 if (dd < 10) dd = "0" + dd;
 return mm + "/" + dd + "/" + tmp.getFullYear();
};

1voto

Mario Punkte 4596

Wie @John Henckel vorschlägt, sollten Sie mit der toISOString() Methode macht die Sache einfacher

const dateString = new Date().toISOString().split('-');
const year = dateString[0];
const month = dateString[1];
const day = dateString[2].split('T')[0];

console.log(`${year}-${month}-${day}`);

CodeJaeger.com

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.

Powered by:

X