2017-04-11 5 views
2

Ich erstellte eine Seite mit Lenker wo Benutzer ein Datum eingeben können, funktioniert ich richtig und es zeigt das richtige Format auf meiner MySQL-Datenbank, wie folgt: 2017-04-01.Knoten js mit falschem Format an Daten

Aber wenn ich das Datum bildet die Datenbank mit Knoten js erhalten:

connection.query('SELECT date FROM tbl', function(err, rows, fields){ 
    console.log(rows); 
}); 

ich diese Ausgabe erhalten:

Sat Apr 01 2017 00:00:00 GMT+0800 (China Standard Time) 

Warum es die Zeit nicht enthalten? aber auf der Datenbank ist nur das Datum. Dies ist ein Problem für mich, weil ich das Datum auf einer Seite ausgeben muss und es zu viel Speicherplatz benötigt.

+0

einfach formatieren Sie das Datum – Weedoze

+0

Sie entweder SQL oder JS Date-Objekt verwenden, können das Datum in das richtige Format zu bekommen. Es hängt davon ab, welche Bibliotheken Sie verwenden und wie das ursprüngliche Format der SQL-Tabelle ist. – Shilly

+1

Es ist, weil (ich nehme an) es es zu einem [JS-Date-Objekt] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date) Parsing, die auch die Zeit speichert, die gute Nachricht ist, dass Sie es formatieren können, um nur die Datumswerte anzuzeigen – George

Antwort

1

Sie bekommen ein JS Date-Objekt und standardmäßig JS Display Sie alles, was er zu diesem Zeitpunkt wie die Zeit weiß, auch wenn es 0h0m0s (Quelle: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date) ist

Wenn Sie nur angezeigt werden soll nur der Tag für Beispiel: Sie können dies tun:

var myFormattedDate = date.toISOString().substring(0, 10); 

hier suchen Erklärung: https://stackoverflow.com/a/28431880/4541118

+2

Haben Sie das Geschlecht der JS Engine angenommen? – George

+1

Manchmal stelle ich mir JS Engine als Mädchen vor ... *^* –

+2

Meine JS-Engine ist eine Katze, die ich mit Snacks und Aufmerksamkeit zwingen muss. – evolutionxbox