7
votes

Strictement appliquer le format de date ISO 8601 dans Web API 2

préambule strong>

Par défaut, le sérialiseur JSON prend en charge la norme ISO DateTime par le moyen du isodatetémeconverter code> p>

avec une personnalisation supplémentaire que nous pouvons Forcer que tous les DateTimes sont dans utuc ( http://www.asp.net/web-api/overview/Formats-and-model-binding/json-and-xml-séralisation ) P>

jsonFormatter.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc


0 commentaires

3 Réponses :


1
votes

Je viens d'examiner le code Json.net et je suis impossible que ce n'est pas possible (ou au moins extrêmement difficile en raison de la nécessité de remplacer jsontextreader / jsontextwriter ) pour échouer Si le suffixe de décalage de la zone de temps est omis. Tous les codes liés à l'analyse et en sérialisant divers types de données sont internes.

ci-dessous sont des liens vers des endroits où la magie est Hapning:


0 commentaires

0
votes

regarder la spécification. Les temps de la date ne dénotant pas le décalage du fuseau horaire doivent être supposés être une heure locale:

Si aucune information de relation UTC n'est fournie avec une représentation temporelle, Le temps est supposé être en heure locale. Alors qu'il peut être sûr de supposons que l'heure locale lors de la communication dans le même fuseau horaire, il est ambigu lorsqu'il est utilisé pour communiquer sur différentes fuseaux horaires. Ce est généralement préférable d'indiquer un fuseau horaire (concepteur de zone) en utilisant la notation de la norme. - Wikipedia

Il serait donc préférable de s'en tenir à une norme convenue. Par conséquent, la mise en œuvre strictement de la norme signifie que je devrais permettre que le fuseau horaire décalage soit laissé de côté.


0 commentaires