gpt4 book ai didi

c# - 在 C# 中反序列化 JSON 日期时出现问题 - 添加 2 小时

转载 作者:太空狗 更新时间:2023-10-29 22:05:24 29 4
gpt4 key购买 nike

在将 JSON 日期反序列化为 C# DateTime 时,我们遇到了如此棘手的问题。

代码是:

JavaScriptSerializer serializer = new JavaScriptSerializer();
jsonTrechos = jsonTrechos.Replace("/Date(", "\\/Date(").Replace(")/", ")\\/");
Trecho[] model = serializer.Deserialize<Trecho[]>(jsonTrechos);

jsonTrechos是json2.js的JSON.stringify();的字符串。

问题是:反序列化有效,但 Trechos 对象的所有日期都添加了 2 小时。

我的时区是巴西 (UTC -3),我们正在使用夏令时(因此我们目前使用的是 UTC -2),如果有任何事情要做的话。我想也许本地化和时区可能在这方面发挥了作用,如果确实如此,我不知道如何解决它。

最佳答案

这记录在 MSDN 中:

Date object, represented in JSON as "/Date(number of ticks)/". The number of ticks is a positive or negative long value that indicates the number of ticks (milliseconds) that have elapsed since midnight 01 January, 1970 UTC.

尝试调用 DateTime.ToLocalTime() 并查看是否获得正确的日期。

关于c# - 在 C# 中反序列化 JSON 日期时出现问题 - 添加 2 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4304486/

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