.net core webapi 时间格式全局转换

1. 下载安装包:Microsoft.AspNetCore.Mvc.NewtonsoftJs
封装一个datetime类

 public class CustomDateTimeConverter : IsoDateTimeConverter
 {
     public CustomDateTimeConverter(string format)
     {
         DateTimeFormat = format;
     }

     public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
     {
         if (value is DateTime dateTime)
         {
             writer.WriteValue(dateTime.ToString(DateTimeFormat));
         }
         else if (value is null)
         {
             writer.WriteNull();
         }
         else
         {
             writer.WriteNull();
         }
     }

     public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
     {
         if (reader.TokenType == JsonToken.Null)
         {
             return null;
         }

         if (reader.TokenType == JsonToken.String)
         {
             if (DateTime.TryParse(reader.Value.ToString(), out DateTime result))
             {
                 return result;
             }
             return null;
         }

         return reader.Value;
     }
 }
2.在program.cs里面配置
   builder.Services.AddControllers()
       .AddNewtonsoftJson(options =>
       {
           options.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc;
           options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
           options.SerializerSettings.Converters.Add(new CustomDateTimeConverter("yyyy-MM-dd HH:mm:ss"));
           options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; // 忽略 null 值
       });
这样传到vue的时间格式就不带T了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值