gpt4 book ai didi

json.net - 为 DateTime 序列化/反序列化指定 Json.Net 的全局设置

转载 作者:行者123 更新时间:2023-12-01 04:35:07 25 4
gpt4 key购买 nike

是否可以设置 JSON.Net,以便在您想要序列化 ​​DateTime 时将其序列化为 UTC 格式。从字符串反序列化时,它被反序列化为“LocalTime”。例如:

  • 序列化
    • 01/01/2012 16:00:00(种类 = UTC)存储为 2012-01-01T16:00:00Z
    • 01/01/2012 16:00:00(种类 = 本地,GMT +1)-> 存储为 2012-01-01T15:00:00Z
  • 反序列化(假设本地时间 = GMT+1 的机器)
    • 2012-01-01T16:00:00Z -> 反序列化为 01/01/2012 17:00 +1GMT(Kind = Local)
    • 2012-01-01T15:00:00Z -> 反序列化为 01/01/2012 16:00 +1GMT(Kind = Local)

但是,我希望这种情况“自动”发生,而不必每次都通过设置来指定它——就像全局设置一样。这可能吗?

最佳答案

在 ASP.NET WebAPI 中,这是可能的。试试这个:

// Converters will be userd during serialization (override DateTimeZoneHandling)
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AdjustToUniversal });
// DateTimeZoneHandling will be effective during deserialization
config.Formatters.JsonFormatter.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Local;

关于json.net - 为 DateTime 序列化/反序列化指定 Json.Net 的全局设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15570707/

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