【问题标题】:.NET Core, SignalR 2 serialization (DateTime).NET Core,SignalR 2 序列化(日期时间)
【发布时间】:2018-09-04 22:13:45
【问题描述】:

如何在 SignalR 2 (2.2.1) 中配置日期时间格式序列化

因为带有日期时间的输出 json 可以在一个响应中使用 UTC,也可以不使用 UTC

"dateTime":"2017-02-17T20:27:04.9225787+02:00"

"dateTime":"2017-02-17T20:00:10.1540101"

【问题讨论】:

  • 以字符串形式发送并相应解析
  • 您可以选择转换为字符串并在 Javascript 中解析,但根据我的经验,将其转换为 Unix 时间戳然后在 Javascript 中解析更容易,所有好的日期库都支持,比如moment.js,这样两边就没有隐藏的配置或特定的格式/解析。

标签: asp.net-core signalr


【解决方案1】:

此代码有效

        services.AddMvc().AddJsonOptions(options =>
        {
            options.SerializerSettings.DateFormatString = "yyyy-MM-ddTHH:mm:ss";
            options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Local;
        });

        services.AddSingleton(_ => new JsonSerializer {
            DateTimeZoneHandling = DateTimeZoneHandling.Local,
            DateFormatHandling = DateFormatHandling.IsoDateFormat,
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 2016-08-18
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多