2016-04-20 9 views
1

Ich habe String mit Datum willWie analysiert man String mit Datum in JavaScript?

var day = '2016-04-20' 

Und ich es 2016-02-01 23:59:59 zu analysieren, weil, wenn ich als Anfrage an Datenbank diese Zeichenfolge senden werde. Dann ist als 2016-04-20 00:00:00 zu erkennen. Ich weiß, dass ich es so geschickt könnte: day+' 23:59:59' aber es unprofessionell aussieht;)


@EDIT

Ich denke, gute Idee wäre: Date.parse(day) + 1 jedoch Date.parse die Anzahl der Millisekunden zwischen dem 1. Januar zurückkehren, 1970 und der Tag.

+0

Ive hinzugefügt, um die Antwort u es durch Format tun können – Asad

Antwort

0

Sie können es in Mysql Datumsformat tun wie dieses

SELECT DATE_FORMAT(date,'%y:%m:%d %T:%f') 

zB Datum ist '2016.04.20' dann

SELECT DATE_FORMAT('2016-04-20','%y:%m:%d %T:%f') 
+0

Es stimmt, jedoch möchte Ich mag an Mach es in JS-Code. – DiPix

+0

Das Senden dieser Abfrage in der Datenbank, so dass es nicht wichtig ist, es in mysql zu analysieren – Asad

+0

es ist, wenn ich multiple Abfrage habe, möchte ich es nicht in jeder Abfrage ändern – DiPix

0

Diese ...

var day = '2016-04-20' 
var mydate = new Date(day); 
mydate.setMinutes(mydate.getMinutes() - 1); 
var mydatestring = mydate.toISOString().slice(0, 10) + " " + mydate.toISOString().slice(11,19); 

... aber SEHR vorsichtig, da JS auf der Client-Maschine sehr oft von der Server-Zeit abweichen kann, sogar im selben Land Versuchen! also nicht erwarten, die mal 100% richtig

AKTUALISIERT sein - erste Version verpasste den Punkt der Frage

+0

Nun ein bisschen kompliziert, und das Ergebnis ist "2016-04-19 23:59: 00' statt '2016-04-20 23: 59: 00'' aber ich verstehe eine Idee. Hm ... vielleicht ist das Anhängen der Saite nicht so schlecht "Tag +" 23: 59: 59''. – DiPix

+0

Nun ja, ich würde nur die Zeichenfolge anhängen, es gibt keine echte Gefahr in Bezug auf die Zeitzone Berechnungen und es ist viel prägnanter lesbarer Code! – Barry

Verwandte Themen