2016-04-06 7 views
0

Ich habe den folgenden Code,Warum gibt Date.prototype.getTime() unterschiedliche Werte für Chrome und Firefox?

var x = new Date("2016-04-04T00:00:00").getTime(); 

    console.log(x); 

Die Ausgabe von x ist 1459728000000 in Chrome und 1459753200000 in Firefox.

Aber ich möchte Chrome-Ausgabe auch in Firefox - gibt es einen Workaround?

+1

Webkit Standard tz scheint UTC und nicht für Firefox zu sein. Sei expliziter, siehe Paulpro's Antwort. – Loenix

+0

@Loenix - Danke für die Klarstellung. –

Antwort

2

Wenn Sie keine Zeitzone angeben, wird in Chrome standardmäßig UTC verwendet, während Firefox standardmäßig auf die Systemzeitzone eingestellt ist. Geben Sie, dass Sie UTC bedeuten durch einen Z, um Ihre Zeit anhängt:

var x = new Date("2016-04-04T00:00:00Z").getTime(); 
+0

können Sie das anführen? – chiliNUT

+1

@chiliNUT Ich habe keinen Verweis, der meinen Anspruch auf die einzelnen Implementierungen des Browsers sichert, aber ich kann ihn auf meinem Computer reproduzieren, und ich kann anführen, dass die [ECMAScript-Spezifikation es der Implementierung überläßt] (http: // www.ecma-international.org/ecma-262/5.1/#sec-15.9.4.2) wenn die Zeitzone nicht angegeben ist: "Wenn die Zeichenkette nicht diesem Format entspricht, kann die Funktion auf irgendeine implementierungsspezifische Heuristik zurückgreifen oder umsetzungsspezifische Datumsformate. " – Paulpro

+0

@Paulpro - Vielen Dank! –

Verwandte Themen