1167 Stimmen

Formatiere JavaScript Datum als JJJJ-MM-TT

Ich habe ein Datum mit dem Format Sun May 11,2014. Wie kann ich es mit JavaScript in 2014-05-11 umwandeln?

function taskDate(dateMilli) {
    var d = (new Date(dateMilli) + '').split(' ');
    d[2] = d[2] + ',';

    return [d[0], d[1], d[2], d[3]].join(' ');
}

var datemilli = Date.parse('Sun May 11,2014');
console.log(taskDate(datemilli));

Der obige Code gibt mir dasselbe Datumsformat, sun may 11,2014. Wie kann ich das beheben?

21voto

Kamil Kiełczewski Punkte 69048

Kürzeste

.toJSON().slice(0,10);

var d = new Date('Sun May 11,2014' +' UTC');   // Als UTC interpretieren
let str = d.toJSON().slice(0,10);              // Als UTC anzeigen

console.log(str);

21voto

Pardeep Jain Punkte 77737

Einfach benutzen Sie dies:

var date = new Date('1970-01-01'); // Oder Ihr Datum hier
console.log((date.getMonth() + 1) + '/' + date.getDate() + '/' +  date.getFullYear());

Einfach und süß ;)

21voto

Luca C. Punkte 9744

In den meisten Fällen (keine Zeitzonenbehandlung) reicht dies aus:

date.toISOString().substring(0,10)

Beispiel

var date = new Date();
console.log(date.toISOString()); // 2022-07-04T07:14:08.925Z
console.log(date.toISOString().substring(0,10)); // 2022-07-04

19voto

user1920925 Punkte 577

toISOString() geht davon aus, dass Ihr Datum lokale Zeit ist und wandelt es in UTC um. Sie erhalten einen falschen Datumsstring.

Die folgende Methode sollte das zurückgeben, was Sie benötigen.

Date.prototype.yyyymmdd = function() {         

    var yyyy = this.getFullYear().toString();                                    
    var mm = (this.getMonth()+1).toString(); // getMonth() ist nullbasiert         
    var dd  = this.getDate().toString();             

    return yyyy + '-' + (mm[1]?mm:"0"+mm[0]) + '-' + (dd[1]?dd:"0"+dd[0]);
};

Quelle: https://blog.justin.kelly.org.au/simple-javascript-function-to-format-the-date-as-yyyy-mm-dd/

15voto

Luo Jiong Hui Punkte 5044

Holen Sie Jahr, Monat und Tag ab und setzen Sie sie dann zusammen. Gerade, einfach und genau.

function formatDate(date) {
    var year = date.getFullYear().toString();
    var month = (date.getMonth() + 101).toString().substring(1);
    var day = (date.getDate() + 100).toString().substring(1);
    return year + "-" + month + "-" + day;
}

//Beispiel für die Verwendung:
alert(formatDate(new Date()));

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