我在尝试从 json 反序列化 DateTimeOffset 时遇到问题。我在这里看到了很多问题,但似乎没有人工作。我从 Json 得到了这个日期时间:05/04/2019 02:39:33 PM GMT,我想将偏移量保持为零。顺便说一下,在反序列化之后,我得到的对象具有相同的确切时间(在本例中为 02:39:33 PM),但具有我的时区(+02:00)。我尝试了这两种解决方法,但没有成功:
首先,我尝试为我的解串器设置设置:
JsonSerializerSettings serializerSettings = new JsonSerializerSettings
{
DateFormatHandling = DateFormatHandling.IsoDateFormat,
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
DateParseHandling = DateParseHandling.DateTimeOffset,
DateFormatString = "dd/MM/yyyy hh:mm:ss tt 'GMT'"
};
我也试过这个转换器:
class DateFormatConverter : IsoDateTimeConverter
{
public DateFormatConverter(string format)
{
DateTimeFormat = format;
DateTimeStyles = System.Globalization.DateTimeStyles.AssumeUniversal;
}
所以,我期待这个结果: 05/04/2019 02:39:33 下午 +00:00 感谢所有会回答我的人!
最佳答案
也许将 DateParseHandling.DateTimeOffset
更改为 DateParseHandling.None
?
关于c# - 如何正确反序列化 Json DateTimeOffset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55538025/