千家信息网

.Net Core怎么解决WebAPI中返回时间格式带T的问题

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍".Net Core怎么解决WebAPI中返回时间格式带T的问题"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇".Net Core怎么解决Web
千家信息网最后更新 2025年01月16日.Net Core怎么解决WebAPI中返回时间格式带T的问题

这篇文章主要介绍".Net Core怎么解决WebAPI中返回时间格式带T的问题"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇".Net Core怎么解决WebAPI中返回时间格式带T的问题"文章能帮助大家解决问题。

在项目开发中遇到了返回的时间格式带T的问题,如图所示:

直接把这种结果返回给前端,前端很难处理这个时间格式问题,所以就需要后端在返回数据的时候对这种格式进行处理。

新建Order类:

using System;namespace WebApiTest{    public class Order    {        public int ID { get; set; }        public DateTime OrderTime { get; set; }    }}

新建一个格式化类DatetimeJsonConverter,继承自JsonConverter,然后重写里面的方法:

using System;using System.Text.Json;using System.Text.Json.Serialization;namespace WebApiTest{    ///     /// 格式化返回的时间格式    ///     public class DatetimeJsonConverter : JsonConverter    {        public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)        {            if (reader.TokenType == JsonTokenType.String)            {                if (DateTime.TryParse(reader.GetString(), out DateTime date))                    return date;            }            return reader.GetDateTime();        }        public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)        {            writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss"));        }    }}

然后修改Startup类的ConfigureServices方法

public void ConfigureServices(IServiceCollection services){    #region 解决返回时间带T的问题    services.AddControllers().AddJsonOptions(configure =>    {        configure.JsonSerializerOptions.Converters.Add(new DatetimeJsonConverter());    });    #endregion}

返回结果

关于".Net Core怎么解决WebAPI中返回时间格式带T的问题"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0