【发布时间】: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 类型,我可以将其转换为任何格式,只会给我一个友好的英国日期格式?
【问题讨论】:
-
您只是使用
.Date属性将时间部分设置为午夜。您始终可以使用.ToString方法生成 textual(又名字符串)表示。 -
您阅读过有关日期的文档吗?newtonsoft.com/json/help/html/DatesInJSON.htm
-
我真的不推荐这个。客户端和服务器可能位于具有不同格式约定的不同时区或语言环境中。 ISO 8601 是区域不变的,并且包含时间偏移信息,因此可以避免这些问题。见The “right” JSON date format 和newtonsoft.com/json/help/html/DatesInJSON.htm
-
正确的方式是在 javascipt 中将其解析为 Date 对象,然后对它做任何你想做的事情(例如将其格式化为英国日期以显示在用户界面中)。跨度>
标签: c# json datetime asp.net-web-api2