2016-05-10 7 views
0

Ich versuche, einen Zeitstempel von d/m/yyyy zu yyyy-mm-dd durch JavaScript zu konvertieren. Hier ist mein Code.konvertieren Datumsformat von D/M/JJJJ nach JJJJ-MM-TT in Javascript

 var d = new Date(); 
     d.setDate(d.getDate()-5); 
     temp = d.toLocaleString({minimumIntegerDigits: 2, useGrouping:false}).split(',')[0].split("/").reverse().join("-"); 
     console.log(temp) 

Ich erhalte eine Ausgabe wie diese 2016-5-5, aber was ich nehme zu bekommen 2016-05-05. Ich versuchte Optionen wie minimumIntegerDigits mit toLocaleString, aber es funktioniert nicht.

Vielen Dank im Voraus.

+2

Dies muss die hundertste Frage zur Konvertierung von Daten mit JS sein. Bitte verwenden Sie das nächste Mal Google. – evolutionxbox

+0

Sie versuchen nicht wirklich, * aus * einem bestimmten Format zu konvertieren, Sie möchten nur ein Datumsobjekt als Zeichenfolge im JJJJ-MM-TT-Format abrufen. Ich würde 'toLocaleString()' Optionen nicht verwenden, weil nicht alle Browser dies unterstützen. – nnnnnn

Antwort

0

versuchen dieses

d.toLocaleString().split(',')[0].split("/").map(function(val, index, arr){ 
    if (index < arr.length - 1) 
    { 
    return ("0" + val).slice(-2); 
    } 
    return val; 
}).reverse().join("-"); 

DEMO

var d = new Date(); 
 
d.setDate(d.getDate() - 5); 
 

 
var output = d.toLocaleString().split(',')[0].split("/").map(function(val, index, arr) { 
 
    if (index < arr.length - 1) { 
 
    return ("0" + val).slice(-2); 
 
    } 
 
    return val; 
 
}).reverse().join("-"); 
 

 
alert(output)

+0

Das gibt mir '2017-21-07' heute auf meinem PC! –

+0

Wie lautet das Systemdatum auf Ihrem Desktop? – gurvinder372

+0

Als Datum/Uhrzeit meines Kommentars gesehen. Es ist jetzt 2017-07-26T03: 36Z. –

0

verwenden

Date.prototype.yyyymmdd = function() { 
    var yyyy = this.getFullYear().toString(); 
    var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based 
    var dd = this.getDate().toString(); 
    return yyyy + '-' + (mm[1]?mm:"0"+mm[0])+ '-' + (dd[1]?dd:"0"+dd[0]); // padding 
    }; 

d = new Date(); 
d.yyyymmdd(); 

Bezogen auf diese Antwort Get String in YYYYMMDD format from JS date object?