gpt4 book ai didi

c# - 为什么 Json.NET DeserializeObject 将时区更改为本地时间?

转载 作者:IT王子 更新时间:2023-10-29 04:08:01 24 4
gpt4 key购买 nike

我正在使用 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.DateTimeOffset 而正在使用 DateParseHandling.DateTime。我会在这里记录一个问题:https://github.com/JamesNK/Newtonsoft.Json

关于c# - 为什么 Json.NET DeserializeObject 将时区更改为本地时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11553760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com