如何在 JSON 输出上强制使用 ISO 格式 "YYYY-MM-DDThh:mm:ss.sss"?
How to force ISO format "YYYY-MM-DDThh:mm:ss.sss" on the JSON output?
我有一个 ASP .NET WebApi2 api,其中 returns 一些 JSON 格式的时间戳。时间戳具有毫秒分辨率。
通常我得到这种格式的时间戳很好"YYYY-MM-DDThh:mm:ss.sss"
不幸的是,如果时间戳恰好用整秒对日期进行编码,则输出格式为 "YYYY-MM-DDThh:mm:ss"
(注意缺少的 .sss
")
如何始终在 JSON 输出上强制使用 ISO 格式 "YYYY-MM-DDThh:mm:ss.sss"
?
将此行添加到 WebApiConfig.Register
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// existing stuff
config.Formatters
.JsonFormatter
.SerializerSettings
.DateFormatString = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffK";
}
}
默认格式为 "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK"
,最多 6 dp。我猜是小写 f
,它似乎有效。
请注意 K
是时区(或 Z 表示 UTC),对于未知日期类型它也显示空白,这就是为什么您没有显示任何内容的原因。
我有一个 ASP .NET WebApi2 api,其中 returns 一些 JSON 格式的时间戳。时间戳具有毫秒分辨率。
通常我得到这种格式的时间戳很好"YYYY-MM-DDThh:mm:ss.sss"
不幸的是,如果时间戳恰好用整秒对日期进行编码,则输出格式为 "YYYY-MM-DDThh:mm:ss"
(注意缺少的 .sss
")
如何始终在 JSON 输出上强制使用 ISO 格式 "YYYY-MM-DDThh:mm:ss.sss"
?
将此行添加到 WebApiConfig.Register
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// existing stuff
config.Formatters
.JsonFormatter
.SerializerSettings
.DateFormatString = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffK";
}
}
默认格式为 "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK"
,最多 6 dp。我猜是小写 f
,它似乎有效。
请注意 K
是时区(或 Z 表示 UTC),对于未知日期类型它也显示空白,这就是为什么您没有显示任何内容的原因。