2015-08-13 2 views
5

Ich habe eine ASP.NET WebApi2 API, die einige Zeitstempel im JSON-Format zurückgibt. Die Zeitstempel haben eine Auflösung von Millisekunden.Wie erzwinge ich das ISO-Format "JJJJ-MM-DDThh: mm: ss.sss" in der JSON-Ausgabe?

Normalerweise habe ich Zeitstempel dieses Formats und das ist gut "YYYY-MM-DDThh:mm:ss.sss"

Leider, wenn ein Zeitstempel ein Datum mit ganzem zweiten Ausgabeformat zu kodieren passiert ist "YYYY-MM-DDThh:mm:ss" (man beachte die fehlenden .sss „)

Wie Kraft ISO-Format "YYYY-MM-DDThh:mm:ss.sss" auf der JSON Ausgabe der ganze Zeit?

+0

Haben Sie schon irgendein Standardserialisierungsverhalten überschrieben, weil ich gelesen habe, dass es entweder in einer "Z" oder einer Zeitzone enden würde: http://www.asp.net/web-api/overview/formats-and-model -binding/json-and-xml-serialisierung # json_dates – weston

+0

noch nicht ... ich benutze den vanilla jsonizer der mit dem framework geliefert wird –

+0

Willst du eigentlich etwas explizit benutzen oder einfach das web api framework serialisieren lassen? – weston

Antwort

3

diese Zeilen hinzufügen WebApiConfig.Register

public static class WebApiConfig 
{ 
    public static void Register(HttpConfiguration config) 
    { 
     // existing stuff 

     config.Formatters 
      .JsonFormatter 
      .SerializerSettings 
      .DateFormatString = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffK"; 
    } 
} 

Das Standardformat ist "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK", was bis zu 6 dp ergibt. Ich vermutete in Kleinbuchstaben f und es scheint zu funktionieren.

Beachten Sie die K ist Zeitzone (oder Z für UTC) es zeigt auch leer für unbekannte Datumstypen, weshalb Sie nichts dort zeigen.

+1

du hast meinen tag bro gemacht, danke –

+0

@GianlucaGhettini Ich habe von "yyyy '-' MM '-' dd'T'HH ':' mm ':' ss.FFFFFFFK" zu "yyyy '-' MM'- ' dd'T'HH ':' mm ':' ss.FFFFFFFZ ", und das Browser-Problem für die Konvertierung von datetime in lokales datetime gelöst. Vielen Dank. –

+0

@BimalDas, warum adressierst du das an Gianluca, schrieb ich die Antwort! hehe – weston

Verwandte Themen