我的应用程序来自客户端和服务器。客户端和服务器交换json数据。同一客户端和服务器上的时区(+4)。此数据类
public class MyData()
{
public DateTime Start {get;set;}
}
在服务器上,我从数据库MS SQL中选择数据,并提供给客户端。当我对客户端数据字段进行反序列化时,Start的偏移量为-6小时。我怎样才能得到正确的时间?我可以使用JsonSerializerSettings在客户端上获得正确的时间吗?我试过
var jsonSerializerSettings = new JsonSerializerSettings()
{
DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
DateParseHandling = DateParseHandling.DateTimeOffset,
DateTimeZoneHandling = DateTimeZoneHandling.Local
};
var result = JsonConvert.DeserializeObject<MyData>(content, jsonSerializerSettings);
但是它给出了+3的偏移。我需要偏移+6。
序列化将日期时间转换为UTC。在取消序列化时,您需要将其转换为本地时间:
试试这样的东西:
var dateWithLocalTimeZone = myDate.ToLocalTime();