赞
踩
创建类 JsonOptionsExt
继承 JsonConverter<DateTime>
请求参数里面的时间数类型据也会被格式化
using System.Text.Json; using System.Text.Json.Serialization; namespace Code { /// <summary> /// JsonResult 格式化时间数据 /// 默认 "yyyy-MM-dd HH:mm:ss" /// </summary> public class JsonOptionsExt : JsonConverter<DateTime> { private readonly string Format; public JsonOptionsExt(string format= "yyyy-MM-dd HH:mm:ss") { Format = format; } public override void Write(Utf8JsonWriter writer, DateTime date, JsonSerializerOptions options) { writer.WriteStringValue(date.ToString(Format)); } public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { // 获取时间类型的字符串 var dt = reader.GetString(); if (!string.IsNullOrEmpty(dt)) { //将日期与时间之间的"T"替换为一个空格,将结尾的"Z"去掉,否则会报错 dt=dt.Replace("T", " ").Replace("Z", ""); //取到秒,毫秒内容也要去掉,经过测试,不去掉会报错 if (dt.Length > 19) { dt=dt.Substring(0, 19); } return DateTime.ParseExact(dt, Format, null); } return DateTime.Now; } } }
builder.Services.AddControllers().AddJsonOptions(options =>
{
//时间格式化响应
options.JsonSerializerOptions.Converters.Add(new JsonOptionsExt());
});
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。