我在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中尝试了很多不同的选项。他们都没有工作。我还下载了最新的newtonsoft版本。
避免时区转换的任何帮助?
答案 0 :(得分:0)
您应该使用DateTimeZoneHandling.Utc