【问题标题】:How to return date with space separator instead of T character in MVC4 or in Json.NET如何在 MVC4 或 Json.NET 中使用空格分隔符而不是 T 字符返回日期
【发布时间】:2013-11-17 22:09:44
【问题描述】:
如何以 ISO 格式以 json 格式返回日期,但在 ASP.NET MVC4 应用程序控制器中用空格而不是 T 分隔
ASP.NET 标准 Json() 方法返回 Microsoft 格式的日期,并且看起来无法自定义。
我试过 Newtonsoft Json.NET。
JsonConvert.SerializeObject(Data)
以正确的 ISO 格式返回日期,但带有 T 字符:
2013-11-17T18:14:32
如何返回日期以便使用空格而不是像 T 一样
2013-11-17 18:14:32
【问题讨论】:
标签:
asp.net-mvc
json
asp.net-mvc-4
json.net
javascriptserializer
【解决方案1】:
您可以通过创建一个新的IsoDateTimeConverter 实例、指定所需的DateTimeFormat,然后将该转换器传递给SerializeObject() 来做到这一点。
演示:
var data = new { MyDate = new DateTime(2013, 11, 17, 18, 41, 26, 835) };
IsoDateTimeConverter dateConverter = new IsoDateTimeConverter
{
DateTimeFormat = "yyyy'-'MM'-'dd HH':'mm':'ss.FFFFFFFK"
};
string json = JsonConvert.SerializeObject(data, dateConverter);
Console.WriteLine(json);
输出:
{"MyDate":"2013-11-17 18:41:26.835"}