我正在开发web api项目并且在我的 WebApiConfig 类中我添加了此配置以将datetime参数转换为ISO 8601格式:
IsoDateTimeConverter converter = new IsoDateTimeConverter
{
//DateTimeStyles = DateTimeStyles.AdjustToUniversal,
DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"
};
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(converter);
但如果我从前端传递此值 2018-01-21T21:00:00.000Z ,则无法将其正确转换为 2018-01-22 00:00 :00.000
那么,我的配置有什么问题?
答案 0 :(得分:0)
不要只使用IsoDateTimeConverter
:
var strDate = Convert.ToDateTime("2018-01-21T21:00:00.000Z").ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'", System.Globalization.CultureInfo.InvariantCulture);
当我测试你的字符串格式时,它会给你2018-01-22T00:30:00.000Z
。
但您可以更改格式; ike "yyyy'-'MM'-'dd' 'HH':'mm':'ss"