我正在使用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
属性与提供的值匹配?
DateParseHandling.None
将日期输出为string
并自行解析。 - andrew.fox