我在Webapiconfig文件中具有此代码,以序列化数据:
public static void Register(HttpConfiguration config)
{
config.EnableCors();
config.MapHttpAttributeRoutes();
config.Filters.Add(new DbValidationErrorAttribute());
config.Filters.Add(new ValidationFailedErrorAttribute());
config.Filters.Add(new GenericExceptionFilterAttribute());
var jsonFormatter = config.Formatters.JsonFormatter;
var jSettings = new Newtonsoft.Json.JsonSerializerSettings()
{
DateFormatHandling = DateFormatHandling.IsoDateFormat,
DateParseHandling = DateParseHandling.DateTimeOffset,
DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind
};
jsonFormatter.SerializerSettings = jSettings;
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));
}
这是一个WebAPI。控制器从前端获取数据。我的问题是日期。它们的时区与服务器时区不同,并将其转换为服务器时区。我在Jsonserializersettings中尝试了许多不同的选择。他们都没有工作。我还下载了最后一个纽顿夫妇。
任何帮助避免时区转换的帮助?
您应该使用DateTimeZoneHandling.Utc