Skip to main content
 首页 » 编程设计

c#中postman 将日期时间显示为未知格式

2025年12月25日48落叶无声

我正在为我的项目使用 Servicestack 和 Ormlite,并使用 postman 进行测试。 我用于时间戳的 C# 类型是 DateTime,它可以正确处理进出 MySql 数据库的信息。当我在响应中返回值时,该值看起来是正确的,但是当在 Postman 中检查响应或仅浏览到请求 url 时,我看到的值是 [ { "id": 1, "accountType": 1, "name": "Mr J Smith", "memberSince": "/Date(1539189581000-0000)/", "phone": "8138138138", "email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="244e4e4e644e4e4e0a474b49" rel="noreferrer noopener nofollow">[email protected]</a>", "emailVerified": false } ] 我发送出去的值为 MemberSince = {10/10/2018 12:39:41 PM}

为什么会出现这样的差异?是不是格式不同?如何全局转换它?

更新

我将其添加到我的初始化例程中并且它有效。这是最好的方法吗?

            JsConfig<DateTime>.SerializeFn = time => new DateTime(time.Ticks, DateTimeKind.Utc).ToString("o"); 
        JsConfig<DateTime?>.SerializeFn = time => time != null ? new DateTime(time.Value.Ticks, DateTimeKind.Utc).ToString("o") : null; 
        JsConfig.DateHandler = DateHandler.ISO8601; 

请您参考如下方法:

我建议你检查你正在使用的序列化器,它与postman无关,是你从后端返回数据的方式。

例如:

  return Json( 
                    new DataSourceResult 
                    { 
                        Data = "testing" 
                    }); 

当序列化器在ajax/javascript端发送此数据时,我需要将其读取为小写的data,因为序列化器设置了第一个字母为小写。 因此,首先,查看序列化器通过网络发送的内容,并尝试在后端更改日期时间的格式。正如我所看到的,序列化程序获取所有 DateTime 并将它们转换为该格式。尝试发送日期的字符串表示形式而不是 DateTime,然后查看另一端收到的内容。应该是纯字符串。 希望这有帮助