I'm using json.net to deserialize a DateTimeOffset
, but it is ignoring the specified timezone and converting the datetime to the local offset. For example, given
var content = @"{""startDateTime"":""2012-07-19T14:30:00+09:30""}";
When deserialised using:
var jsonSerializerSettings = new JsonSerializerSettings() { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateParseHandling = DateParseHandling.DateTimeOffset, DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind };
var obj = JsonConvert.DeserializeObject(content, jsonSerializerSettings);
The obj will contain a property containing a DateTimeOffset
but the value will be 2012-07-19T15:30:00+10:30
i.e. converted to the local timezone instead of preserving the original timezone.
Is there a way to get the value to be parsed as expected so that the resulting DateTimeOffset
property will match the supplied value?
DateParseHandling.None
to output the date as astring
and parse yourself. – Oeflein