• 金正恩对中国进行访问 2019-02-14
  • 王毅昨晚通了两个电话,力防朝鲜半岛出现“八月危机” 2019-02-14
  • 【理上网来·辉煌十九大】普京评中共十九大报告:中国着眼未来前景非凡—国际在线移动版 2018-12-29
  • 习近平时间|用屈原精神“塑心”“立行” 2018-12-29
  • 福彩3d试机号今天:Json.net日期格式化设置方式

    时间:2018-11-14来源/作者:_York 编辑:源码库 文章热度:

    双色球基本走势图表图 www.jpkp.net 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);

    如果需要返回的格式不一致,比如有的需要年月日,有的是年月日时分秒,则这样控制不了??梢酝üㄒ迨粜岳唇饩?/p>

    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日期格式化设置方式,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


    注:相关教程知识阅读请移步到ASP.NET教程频道。
    相关ASP.NET教程
    热门标签

    ASP.NET教程Rss订阅ASP.NET教程搜索

  • 金正恩对中国进行访问 2019-02-14
  • 王毅昨晚通了两个电话,力防朝鲜半岛出现“八月危机” 2019-02-14
  • 【理上网来·辉煌十九大】普京评中共十九大报告:中国着眼未来前景非凡—国际在线移动版 2018-12-29
  • 习近平时间|用屈原精神“塑心”“立行” 2018-12-29