Я использую json.net для десериализации DateTimeOffset
, но он игнорирует указанный часовой пояс и преобразует дату и время в локальное смещение. Например, учитывая
var content = @"{""startDateTime"":""2012-07-19T14:30:00+09:30""}";
При десериализации с использованием:
var jsonSerializerSettings = new JsonSerializerSettings() { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateParseHandling = DateParseHandling.DateTimeOffset, DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind };
var obj = JsonConvert.DeserializeObject(content, jsonSerializerSettings);
Объект obj будет содержать свойство, содержащее DateTimeOffset
, но значение будет 2012-07-19T15:30:00+10:30
, то есть преобразовано в местный часовой пояс вместо сохранения исходного часового пояса.
Есть ли способ получить значение, которое будет проанализировано, как ожидалось, чтобы результирующее свойство DateTimeOffset
соответствовало предоставленному значению?