【问题标题】:Web API DateTime not being parsedWeb API DateTime 未被解析
【发布时间】:2014-10-21 13:51:42
【问题描述】:

我在我的 web api 中从供应商的 web 服务接收 POST 数据。发送的值之一是数据和时间 - 示例:StartTime=2014-10-20+15%3A30%3A54。我知道%3A: 的转义,它的日期格式如下:2014-10-20+15:30:54

问题是 StartTime 值没有被 web api 正确解析,并且我模型上的所有 StartDate 属性都被设置为 1/1/0001 12:00:00 AM

任何人都可以在这里指出正确的方向吗?我似乎无法找到有关此日期格式的任何信息,以查看是否有办法让 web api 框架正确解析它。

【问题讨论】:

  • 我在 Web API 期望日期时间为 MM-dd-yyyy 之前就有了这个。你可以试试这样格式化...
  • 问题是我从第 3 方获取信息。我无法控制他们传递的日期的格式。
  • 你能做到var result = await response.Content.ReadAsAsync<T> 是你的响应对象吗?
  • JSON.NET 支持自定义 DateTime 转换器。你可以看看这个问题:stackoverflow.com/questions/12936614/…

标签: asp.net-web-api


【解决方案1】:

试试这个

请求正文:

{"StartTime":"2014-10-20+15:30:54"}

解析:

CultureInfo provider = CultureInfo.InvariantCulture;
string format = "yyyy-MM-dd+HH:mm:ss";
DateTime dt = DateTime.ParseExact(request.StartTime, format, provider);

【讨论】:

    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多