如何使用正确的时区C#反序列化Datetime json

时间:2018-11-24 04:42:12

标签: json.net

我的应用程序使用了API,其中一个API返回具有unix时间格式的Datetime值

ex: user.DateOfBirth = "/Date(476197200000+1100)/" 

反序列化过程运行良好(deserialize<User>对象),但是当我显示GUI的日期时间时。

用户界面将此日期显示为1985年2月2日 我的期望是:1985年2月3日

我的本​​地环境正确显示,是1985年2月3日,但是在UAT环境中,它显示的时间少于1天(1985年2月2日)

我正在使用Newtonsoft.Json v10.x.x

1 个答案:

答案 0 :(得分:1)

不确定如何进行反序列化,但是您可能希望研究如何使用特定时区进行解析。

您可以尝试一下。

microsoftDateFormatSettings = 
new { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
      DateTimeZoneHandling = DateTimeZoneHandling.Local};

var items = JsonConvert.DeserializeObject<List<lstObject>>.
(jsonString, microsoftDateFormatSettings);