Wiem, że to pytanie zostało zafiksowane wiele razy i przeczytałem wiele postów na temat tego hashu, ale nadal jestem zdezorientowany.DateTime Json Powrót z WebAPI z domyślnym Serializerem
Przy użyciu MVC4/WebAPI, mam datetime, który jest po prostu utworzony jako nowy DateTime.Now.
Moje dane powrotne WebAPI jest tak:
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, new
{
data = sessionRecordSmalls,
count = sessionRecordSmalls.Count,
success = true
});
gdzie sessionRecordsSmall ma własność publiczną DateTime w nim.
Kiedy patrzę na datę w debuggerze VS, pokazuje ją jako teraz bez strefy czasowej, ponieważ DateTime nie zawiera strefy czasowej.
{06.10.2012 09:45:00}
Kiedy patrzę na to, co zostanie pobrana z serwera, widzę w JSON
2012-10-06T09: 45: 00
Myślę, że T0 oznacza Strefę czasową 0, a nie 100% pewności. Moja biblioteka JavaScript interpretuje ją jako strefę czasową 0, a następnie pokazuje aktualną datę pobraną jako GMT (-9 godzin temu dla mnie).
Moje pytanie brzmi, co to jest pobrany JSON? Czy to jest strefa czasowa? Czy brakuje tu jakiegoś ważnego kroku?
Zauważyłem, że kiedy ozdobić mój datetime z: [JsonProperty (ItemConverterType = typeof (JavaScriptDateTimeConverter))] publicznego DateTime LogDate {get; zestaw; } Dostaję to, czego oczekuję od konwersji, czy nie powinno to być domyślne? –
Szczerze mówiąc nie jestem pewien ... ale proponuję przeczytać ten http://icanmakethiswork.blogspot.cz/2012/04/beg-steal-or-borrow-decent-javascript.html ... Robię konwersję na UTC także z hackowaniem –