ISO 8601 Datum JS Interpretationsunterschied - IE / FF versus Chrome

Warum tun IE / FF und Chrome Javascript-Enginesdiffer auf wie zu interpretieren DiesDatumsforma ( JJJJ-MM-TTTHH: mm: ss.fff) ohne den Zeitzonenbezeichner?

new Date("2015-02-18T15:43:57.803").getUTCHours()
UTC Stunden

Chrom 1
IE11 / FF: 21

Ich verstehe das nicht - liegt es daran, dass Chrome annimmt, dass es lokal ist, während IE / FF davon ausgehen, dass es UTC ist? Dies scheint ein Chrome-Bug zu sein.

Interessanterweise teilt das Anhängen eines "Z" am Ende der Zeichenfolge Chrome und IE / FF mit, dass die Zeit UTC ist und sie übereinstimmen können. Hat jemand anderes bemerkt, dass diese JavaScript-Implementierung nicht mit @ übereinstimmDate?

new Date("2015-02-18T15:43:57.803Z").getUTCHours()
UTC Stunden

Chrom 1
IE11 / FF: 1

Letztendlich - das ist das Ergebnis des Standard-Serialisierungsprogramm für ASP.NET-Web-API, von dem ich dachte, dass es JSON.NET verwendet, aber es scheint nun intern zu sein, wo JSON.NET @ verwendIsoDateTimeConverter.

CheckingGlobalConfiguration.Configuration.Formatters.JsonFormatter sagt mir, wir verwendenJsonMediaTypeFormatter. Verwendet die Web-API den JSON.NET-Serializer nicht standardmäßig?

Dies ist ein Segen für Web-API-Benutzer - zumindest in ASP.NET MVC hatten wir ein konsistentes Datumsformat wenn auch proprietär - / Datum (Anzahl der Ticks) /) über dasJavascriptSerializer

Antworten auf die Frage(4)

Ihre Antwort auf die Frage