gpt4 book ai didi

json - SignalR 日期时间 IsoString 到 UTC

转载 作者:行者123 更新时间:2023-12-02 06:57:54 25 4
gpt4 key购买 nike

我通过 SignalR 从 ServerSide 发送一个没有未指定类型的 DateTime 对象:

myDate.Kind //Unspecified

我按照建议将 JsonConvert defaultSettings 设置为使用 UTC here :

JsonConvert.DefaultSettings = () => new JsonSerializerSettings(){
DateTimeZoneHandling = DateTimeZoneHandling.Utc
};

如果我使用 JsonConvert.SerializeObject,我将获得 UTC ISO8601 格式的字符串,带有“Z”后缀:

JsonConvert.SerializeObject(myDate) // "\"2014-11-27T23:00:00Z\""

但是,如果我通过 SignalR 发送对象,我会在客户端收到:

myDate: "2014-11-27T23:00:00" 

注意它返回时没有 Z 后缀。

SignalR 没有使用 JsonConvert 吗?为什么我会得到两个不同的结果?

我的目标是接收客户端:“2014-11-27T23:00:00Z

最佳答案

SignalR 使用来自 GlobalHost 对象的已注册 JsonSerializer。添加以下内容,而不是您正在做的事情;

 var serializer = new JsonSerializer()
{
DateTimeZoneHandling = DateTimeZoneHandling.Utc
};
GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), () => serializer);

不要忘记(如果需要)设置您的 Null 处理、引用处理等。

关于json - SignalR 日期时间 IsoString 到 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27421395/

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