如何在JSON输出上强制ISO格式“YYYY-MM-DDThh:mm:ss.sss”?
我有一个ASP .NET WebApi2 api,它以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
是时区(或UTC的Z),它还显示未知日期类型的空白,这就是为什么您没有显示任何内容的原因。