zoukankan      html  css  js  c++  java
  • C# 反序列化datetime的处理

    Newtonsoft.Json.dll(获取最新版,我使用的是8.0)提供了非常好的Json序列化和反序列化方式,但是对日期的处理却让我纠结了很久。首先定义类如下:

    public class Student{
        public int Id{get;set;}
        public string Name{get;set;}
        public DateTime BirthDay{get;set;}
    }

    序列化代码如下:

    复制代码
    Student stu = new Student()
    {
        Id = 1,
        Name = "zhangsan",
        BirthDay = DateTime.Now
    };
    String result = Newtonsoft.Json.JsonConvert.SerializeObject(stu);
    Console.WriteLine(result);
    Console.ReadLine();
    复制代码

    结果是:{"Id":1,"Name":"zhangsan","BirthDay":"2016-08-03T17:23:54.2480422+08:00"}

    修改代码如下:

    复制代码
    Student stu = new Student()
    {
        Id = 1,
        Name = "zhangsan",
        BirthDay = DateTime.Now
    };
    Newtonsoft.Json.Converters.IsoDateTimeConverter timeConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter();
    //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式
    timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
    String result = Newtonsoft.Json.JsonConvert.SerializeObject(stu, Newtonsoft.Json.Formatting.None, timeConverter);
    Console.WriteLine(result);
    Console.ReadLine();
    复制代码

    结果是:{"Id":1,"Name":"zhangsan","BirthDay":"2016-08-03 17:32:03"}

    另,延伸方法:

    public static DataTable ConvertToDataTable(string json)
    {
    Newtonsoft.Json.Converters.IsoDateTimeConverter timeConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter();
    //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式
    timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
    DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject<DataTable>(json, timeConverter);
    return dt;
    }

     感谢好友:http://www.cnblogs.com/duanjt/p/5733791.html

  • 相关阅读:
    c语言数组指针
    (4)activiti工作流引擎之uel表达式
    (3)activiti流程的挂起和激活
    (2)java程序走一遍工作流activiti
    (1)activiti认识以及数据库和插件配置
    linux 下路由配置
    lvs-dr+keepalived
    LVS-DR 配置测试
    简单认识TCP/IP协议
    mysql 主从同步-读写分离
  • 原文地址:https://www.cnblogs.com/Jeff-Lai/p/6748749.html
Copyright © 2011-2022 走看看