asp.net core 使用 FromBody model 中 datetime 类型属性绑定时间不正确问题

在  action 中使用 FromBody 标记,绑定来自请求的 payload 数据, 发现datetime 类型的属性,时间都 少了 8个小时,很明显 是时区问题。

在 asp.net core 中,默认是使用  Newtonsoft.Json 来处理json 相关数据的。

因此只要改变  Newtonsoft.Json  的默认设置就可以。

services.AddMvc().AddJsonOptions(options =>
	{
// ====== 改变默认时区 === 
	options.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Local;
	}) 

 

重新运行后,接受的数据正常。