Dlaczego Json.NET DeserializeObject zmienia strefę czasową na czas lokalny?

Używam json.net do deserializacji aDateTimeOffset, ale ignoruje określoną strefę czasową i konwertuje datetime na lokalny offset. Na przykład podane

var content = @"{""startDateTime"":""2012-07-19T14:30:00+09:30""}";

Przy deserializacji przy użyciu:

var jsonSerializerSettings = new JsonSerializerSettings() { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateParseHandling = DateParseHandling.DateTimeOffset, DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind };
var obj = JsonConvert.DeserializeObject(content, jsonSerializerSettings);

Obiekt będzie zawierał właściwość zawierającą aDateTimeOffset ale wartość będzie2012-07-19T15:30:00+10:30 tj. konwertowane na lokalną strefę czasową zamiast zachowywania oryginalnej strefy czasowej.

Czy istnieje sposób, aby uzyskać wartość do analizy zgodnie z oczekiwaniami, aby wynikDateTimeOffset właściwość będzie odpowiadać podanej wartości?

questionAnswers(6)

yourAnswerToTheQuestion