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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM