C# JSON序列化日期格式问题
Posted xuelei被占用了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# JSON序列化日期格式问题相关的知识,希望对你有一定的参考价值。
默认序列化日期为1970至今的时间戳
需要在json.convert中做一些设置
//javascriptSerializer js = new JavaScriptSerializer(); IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式 //timeConverter.DateTimeFormat = "yyyy‘-‘MM‘-‘dd‘ ‘HH‘:‘mm‘:‘ss"; timeConverter.DateTimeFormat = "yyyy‘-‘MM‘-‘dd"; return JsonConvert.SerializeObject(t, Formatting.Indented, timeConverter); // string result = js.Serialize(t);
这样格式就是 yyyy-MM-dd了
也可以在js中进行处理
//C#序列化时间转化 function ParseDate(item) { var timestamp = item.substring(6, 15); var d = new Date(timestamp * 1000); //根据时间戳生成的时间对象 return (d.getFullYear()) + "-" + (d.getMonth() + 1) + "-" + (d.getDate()) + " " + (d.getHours()) + ":" + (d.getMinutes()) + ":" + (d.getSeconds()); } //C#序列化时间转化短日期 function ParseShortDate(item) { var time = (ParseDate(item)).substring(0, 9); return time; }
以上是关于C# JSON序列化日期格式问题的主要内容,如果未能解决你的问题,请参考以下文章
C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置
c#中的JSON DateTime序列化处理一位数和两位数小时
使用 ObjectMapper 将 JSON 日期格式从 ZonedDateTime 序列化为自定义日期格式