【问题标题】:Returning the DateTime Type as a Date and Not a JSON Timestamp in Web API 2.0在 Web API 2.0 中将 DateTime 类型作为日期而不是 JSON 时间戳返回
【发布时间】:2018-03-18 18:52:15
【问题描述】:

我正在尝试以更友好的格式(即 DD-MM-YYYY)从 API 方法返回日期,但我似乎只能获取 JSON 时间戳日期 (0000-00-00T00:00:00 )。

foreach (var todo in Todos)
{
    todo.ToDoDate = todo.ToDoDate.Date;
}

正如您在代码中看到的那样,我尝试使用 Date 函数解决这个问题,但这仍然添加了 T00:00:00 扩展名。我知道我可以在前端使用 JavaScript 进行转换,但如果我能提供帮助,我不希望这样做。

鉴于todo.ToDoDate 是 DateTime 类型,我可以将其转换为任何格式,只会给我一个友好的英国日期格式?

【问题讨论】:

标签: c# json datetime asp.net-web-api2


【解决方案1】:

如果您想要一些明确的格式,请将其转换为字符串:

        var myDate = new DateTime(2017, 11, 13);
        var myDateStr = myDate.ToString("dd/MM/yyyy");
        //myDatestr = "13/11/2017"

【讨论】:

  • 我的 toDoDate 属性是一个 DateTime 对象,因此它不会包含字符串 - 这是问题的一部分
  • 因此更改您的控制器方法以返回此日期字段为string 的模型。毕竟在 json 中一切都是文本,无论如何你都试图绕过这里的约定,它应该是接收端来处理他们希望如何格式化返回的数据。
猜你喜欢
  • 1970-01-01
  • 2016-05-29
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-13
  • 2018-01-02
相关资源
最近更新 更多