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 StundenChrom 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 StundenChrom 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