摘要:本文主要向大家介绍了C#编程之C# 反序列化datetime的处理,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。
本文主要向大家介绍了C#编程之C# 反序列化datetime的处理,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。
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.SerializeObject
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C#.NET频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号