Json.net日期格式化设置方式

 更新时间:2021年9月22日 10:01  点击:1920

Json.net默认的时间格式化后带T,不符合一般的业务要求,重新设置JSON.NET的默认日期格式化方式,代码如下:

 /// <summary>
    /// Json.net默认转换设置
    /// </summary>
    private static void DefaultJsonConvertSetting()
    {
      JsonSerializerSettings setting = new JsonSerializerSettings();
      JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() =>
      {
        //日期类型默认格式化处理
        setting.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;
        setting.DateFormatString = "yyyy-MM-dd HH:mm:ss";

        //空值处理
        //setting.NullValueHandling = NullValueHandling.Ignore;

        return setting;
      });
    }

下面看下Json.Net 使用属性定义日期的序列化格式

如果一个实体类里所有的时间即DateTime类型的字段,都处理成统一格式的话,可以使用如下方式:

IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
      timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
      JsonConvert.SerializeObject(stu, Newtonsoft.Json.Formatting.Indented, timeFormat);

如果需要返回的格式不一致,比如有的需要年月日,有的是年月日时分秒,则这样控制不了。可以通过定义属性来解决

public class student
  {
    public string Name { get; set; }
    public int Age { get; set; }
    [JsonConverter(typeof(DateFormat))]
    public DateTime BirthDay { get; set; }
    [JsonConverter(typeof(DateTimeFormat))]
    public DateTime CreateTime { get; set; }
  }
  public class DateFormat:IsoDateTimeConverter
  {
    public DateFormat()
    {
      base.DateTimeFormat = "yyyy-MM-dd";
    }
  }
  public class DateTimeFormat:IsoDateTimeConverter
  {
    public DateTimeFormat()
    {
      base.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
    }
  }

实例演示:

student stu = new student()
       {
         Name = "张三",
         Age = ,
         BirthDay = new DateTime(, , ),
         CreateTime = DateTime.Now
       };
       string result = JsonConvert.SerializeObject(stu);

result = {"Name":"张三","Age":30,"BirthDay":"1986-07-16","CreateTime":"2016-01-16 23:13:34"}

这样控制的粒度更细了

总结

以上所述是小编给大家介绍的Json.net日期格式化设置方式,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

[!--infotagslink--]

相关文章

  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • php计算两个日期相差天数的方法

    本文实例讲述了php计算两个日期相差天数的方法。...2015-03-15
  • PostgreSQL 字符串处理与日期处理操作

    这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
  • 非常全面的php日期时间运算汇总

    实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳。 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。...2015-11-08
  • vue开发之moment的介绍与使用

    moment是一款多语言支持的日期处理类库, 在vue中如何使用呢?这篇文章主要给大家介绍了关于vue之moment使用的相关资料,需要的朋友可以参考下...2021-05-13
  • C#实现将字符串转换成日期格式的方法

    这篇文章主要介绍了C#实现将字符串转换成日期格式的方法,涉及C#操作时间及字符串的相关技巧,非常简单实用,需要的朋友可以参考下...2020-06-25
  • C#格式化数字字符串的方法

    这篇文章主要为大家详细介绍了C#格式化数字字符串的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • php根据日期或时间戳获取星座信息和生肖等信息

    分享一个利用php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数方法,具体函数代码以及使用方法如下: /** 判断干支、生肖和星座 */ function birthext($birth){ if(strstr($birth,'-')===false&&strlen($bi...2015-10-21
  • prettier自动格式化去换行的实现代码

    这篇文章主要介绍了prettier自动格式化去换行的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-26
  • java8时间 yyyyMMddHHmmss格式转为日期的代码

    这篇文章主要介绍了java8时间 yyyyMMddHHmmss格式转为日期的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
  • C#判断日期是否到期的方法

    这篇文章主要介绍了C#判断日期是否到期的方法,是C#程序设计中非常实用的技巧,需要的朋友可以参考下...2020-06-25
  • C#比较日期的方法总结

    在本篇内容中小编给大家整理了关于C#比较日期的方法和相关知识点,有需要的朋友们学习下。...2020-06-25
  • sql通过日期判断年龄函数的示例代码

    这篇文章主要介绍了sql通过日期判断年龄函数,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-07-16
  • 微信小程序wxs日期时间处理的实现示例

    最近在做一个列表的时候,涉及到时间格式化操作。本文主要介绍了微信小程序wxs日期时间处理的实现示例,分享给大家,感兴趣的可以了解一下...2021-07-22
  • jQuery DateTimePicker 日期和时间插件示例

    jQuery UI很强大,其中的日期选择插件Datepicker是一个配置灵活的插件,这篇文章主要介绍了jQuery DateTimePicker 日期和时间插件示例,有兴趣的可以了解一下。...2017-01-26
  • vue.js实现价格格式化的方法

    这里分享一个常用的价格格式化的一个方法,在电商的价格处理中非常的实用,具体实现代码大家参考下本文...2017-05-27
  • js显示当前日期时间和星期几

    JavaScript获取当前日期时间同时显示星期几,具体代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="/jquery/1.7.0/jquery.min.js...2015-10-23
  • C语言实现时间戳转日期的算法(推荐)

    下面小编就为大家带来一篇C语言实现时间戳转日期的算法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
  • 关于VSCode格式化JS自动添加或去掉分号的问题

    这篇文章主要介绍了VSCode格式化JS自动添加或去掉分号的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-10-12