.net core swagger 统一日期格式化
由于在swagger UI模型架构上,字段日期显示为“日期”:“2023-03-30T09:10:47.507Z”但我需要将其作为“日期”:“2023-03-30 09:10:47”.
tips:以下这两种格式只是简单了解了一下不是很全面,有不足或不对的地方请指出问题
首先看一下swagger默认显示的Date类型是这样的(这里示例代码默认显示的当前日期的UTC 可能和后面演示的不一样)这是标准的 XML Schema的"日期型数据格式”T是代表后面跟着“时间”.Z代表0时区,或者叫UTC统
.net6以下在startup下ConfigureServices添加;.net6 及以上在Program下ConfigureServices添加
public override void ConfigureServices(IServiceCollection services) { services.AddNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); var dateConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd hh:mm:ss" }; options.SerializerSettings.Converters.Add(dateConverter); options.SerializerSettings.Culture = new CultureInfo("en-IE"); options.SerializerSettings.DateFormatHandling = DateFormatHandling.IsoDateFormat; }); base.ConfigureServices(services); }