.net webapi .net core 统一时间返回格式, .net core 2.0, .net core 3.1

摘要:
使用webapi或当netcore编写接口时,我们的时间类型通常是datetime。如果直接返回,前端获得的结果往往是这样的格式:如何将其更改为我们想要的格式。webapi将以下代码添加到WebApiConfig中的Register方法中。cs文件。当接口返回时,我们需要使用ok(对象)格式//统一返回时间格式,配置返回时间类型数据格式配置。格式化程序。JsonForm公司

在用 webapi 或者.net core 写接口时, 我们的时间类型往往是 datetime类型的, 如果直接返回, 前端拿到的结果往往这样这种格式 :

.net webapi .net core 统一时间返回格式, .net core 2.0, .net core 3.1第1张

下面讲怎么改成我们想要的格式

webapi

在WebApiConfig.cs文件里的Register方法添加如下代码, 在接口返回的时候要用 ok(object) 这种格式.

            //统一返回时间格式,配置返回的时间类型数据格式
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(
                newNewtonsoft.Json.Converters.IsoDateTimeConverter()
                {
                    DateTimeFormat = "yyyy-MM-dd HH:mm:ss"}
            );

.net webapi .net core 统一时间返回格式, .net core 2.0, .net core 3.1第2张

.net core 2.X

在 Startup.cs 文件里 的ConfigureServices的 AddMvc 追加下面的代码

            services.AddMvc().AddJsonOptions(options =>{
                options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
            });

.net webapi .net core 统一时间返回格式, .net core 2.0, .net core 3.1第3张

.net core 3.x

升级到.net core 3.0 以后,不在默认包含NewtonsoftJson,而是默认使用System.Text.Json.

我们可以定义一个继承 System.Text.Json.Serialization.JsonConverter 的类,实现其Read 和 Write两个抽象方法. 然后再使用

 /// <summary>
    ///统一时间转换
    /// </summary>
    public class DatetimeJsonConverter : JsonConverter<DateTime>{
        /// <summary>
        ////// </summary>
        /// <param name="reader"></param>
        /// <param name="typeToConvert"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public override DateTime Read(refUtf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
            if (reader.TokenType ==JsonTokenType.String)
            {
                if (DateTime.TryParse(reader.GetString(), outDateTime date))
                    returndate;
            }
            returnreader.GetDateTime();
        }

        /// <summary>
        ////// </summary>
        /// <param name="writer"></param>
        /// <param name="value"></param>
        /// <param name="options"></param>
        public override voidWrite(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
        {
            writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss"));
        }
    }

然后再ConfigureServices 里添加

            services.AddMvc().AddJsonOptions((options)=>{
                options.JsonSerializerOptions.Converters.Add(newDatetimeJsonConverter());
            });

.net webapi .net core 统一时间返回格式, .net core 2.0, .net core 3.1第4张

免责声明:文章转载自《.net webapi .net core 统一时间返回格式, .net core 2.0, .net core 3.1》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇V4L2驱动的移植与应用(二)java.io.tmpdir在哪里?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WebAPI初探

WebAPI初探 由于即将要接手的新项目计划用ASP.NET MVC3来开发,所以最近一段时间一直在看相关的书或文章。因为之前在大学里也曾学习过MVC2开发,也做过几个简单的MVC2的小型测试项目,不过在后来工作以后主要还是开发WebForm的项目,所以MVC的东西也就逐渐的淡忘了。 经过这一段时间的系统学习,真的觉得MVC3相比于之前的MVC2还有Web...

使用Xftp&amp;amp;Xshell 工具进行文件上传与运行webapi

前言: 由于我们平时在开发微服务的时候,都是在windows 或者mac上开发的,开完完成一些功能,需要发布到服务器上进行提测。今天,我主要介绍两个工具来说明一下如何上传以及把程序跑起来。 正文: 准备工作: 1、Xftp 6工具 ,下载地址:https://www.netsarang.com/zh/xftp/ 2、Xshell 6 工具,下载地址:htt...

云计算之路-阿里云上:数据库连接数过万的真相,从阿里云RDS到微软.NET Core团队

在昨天的博文中,我们坚持认为数据库连接数过万是阿里云RDS的问题,但后来阿里云提供了当时的数据库连接情况,让我们动摇了自己的想法。 帐户 连接数 A 4077 B 3995 C 741 D 698 E 519 上面这5个帐户产生了10030个数据库连接,当看前4个帐户(产生了9511个连接)的名称时,我们打了一个寒颤 —— 这些...

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目

虽然该方法不会用在实际开发中,但该过程对于初学者还是非常友好的,真应了麻雀虽小,五脏俱全这句话了。好了不多废话了,直接开始!! 1.建立一个名为test的Asp.net core web应用程序 这一部分的目的是建立项目,并使用MVC框架。 2.导入依赖项(sqlite数据库 与 EF core) 这一部分的操作目的是可以让我们的项目可以使用操作数据库的...

.NET Core 面试题

第一题,什么是ASP net core? 首先ASP net core不是 asp net的升级版本。它遵循了dot net的标准架构, 可以运行于多个操作系统上。它更快,更容易配置,更加模块化,可扩展性更强。 第二题,asp dot core有哪些好的功能? 1.是依赖注入。 2.是日志系统架构。 3.是引入了一个跨平台的网络服务器,kestrel。可以...

Topshelf 搭建轻量级 Windows 服务 + Webapi

创建控制台项目 static void Main(string[] args) { var rc = HostFactory.Run(x => { x.Service<AppServices>(s => {...