¿Por qué Json.NET DeserializeObject cambia la zona horaria a la hora local?
Estoy usando json.net para deserializar unDateTimeOffset
, pero es ignorar la zona horaria especificada y convertir la fecha y hora en el desplazamiento local. Por ejemplo, dado
var content = @"{""startDateTime"":""2012-07-19T14:30:00+09:30""}";
Cuando se deserializa utilizando:
var jsonSerializerSettings = new JsonSerializerSettings() { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateParseHandling = DateParseHandling.DateTimeOffset, DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind };
var obj = JsonConvert.DeserializeObject(content, jsonSerializerSettings);
El objeto contendrá una propiedad que contiene unaDateTimeOffset
pero el valor será2012-07-19T15:30:00+10:30
es decir, convertido a la zona horaria local en lugar de preservar la zona horaria original.
¿Hay una manera de obtener el valor para ser analizado como se espera para que el resultadoDateTimeOffset
¿La propiedad coincidirá con el valor suministrado?