Почему Json.NET DeserializeObject меняет часовой пояс на местное время?

Я использую 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);

Объект будет содержать свойство, содержащееDateTimeOffset но значение будет2012-07-19T15:30:00+10:30 т.е. преобразован в местный часовой пояс вместо сохранения исходного часового пояса.

Есть ли способ получить значение, которое будет проанализировано, как и ожидалось, чтобы в результатеDateTimeOffset свойство будет соответствовать заданному значению?

Ответы на вопрос(6)

Ваш ответ на вопрос