您现在的位置是:网站首页> .NET Core

Asp.Net Core 3.1返回JsonResult时时间格式处理

摘要

定义一个继承System.Text.Json.Serialization.JsonConverter的类,实现其Read 和 Write两个抽象方法


复制代码

    public class DateTimeConverter : JsonConverter<DateTime>

    {

        public string DateTimeFormat { get; set; } = "yyyy-MM-dd HH:mm:ss";


        public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => DateTime.Parse(reader.GetString());


        public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) => writer.WriteStringValue(value.ToString(this.DateTimeFormat));

    }

复制代码

  然后在Startup中添加AddJsonOptions来设置时间的格式


复制代码

 services.AddMvc(options =>

            {

                options.EnableEndpointRouting = false;

                // 添加全局异常处理

                options.Filters.Add(typeof(GlobalExceptionFilter));

            }

            ).AddJsonOptions

            (

                option =>

                {

                    //统一设置JsonResult中的日期格式    

                    option.JsonSerializerOptions.Converters.Add(new DateTimeConverter());

                    //option.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);

                }

            ).SetCompatibilityVersion(CompatibilityVersion.Version_3_0);

复制代码


上一篇:.NET Core 基础知识

下一篇:XML命名空间

Top