c# - 如何正确反序列化 Json DateTimeOffset?

标签 c# json date json.net deserialization

我在尝试从 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/

相关文章:

php - 我的 csv 导入未格式化日期

R sqldf 无法识别 posixct

c# - 从字节数组打开 .exe 文件

c# - "StandardOut has not been redirected or the process hasn' t 尚未开始"After Process.GetProcessById()

javascript - 解释 json 字符串中的反斜杠字符以实现漂亮的显示

jquery - 将 JSON 与 ASP.NET VB 结合使用

mysql - 如何在事件日志的一个 "activity"中存储(在 MySQL 中)多个更新?

c# - MVC 表单上的多个按钮 - 在操作 Controller 中获取项目 ID

c# - 在可序列化的 C# 类上使用不带 XmlArray 的 XmlArrayItem 属性

php - jQuery 数据表 MySQL 日期到 PHP 日期