在网上找了好多好多的帖子都是2.x的,代码放进去一直报错没法用,刚刚准备关机找到一个可以用的~特此记录一下。
直接把这一行放进去,这个时候DatetimeJsonConverter会报错,不要慌。接着下一步
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
services.AddControllers()
.AddJsonOptions(configure => {
configure.JsonSerializerOptions.Converters.Add(new DatetimeJsonConverter());
});
}
然后就是直接在这个startup类里下边再写一个方法
public class DatetimeJsonConverter : JsonConverter<DateTime>
{
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"));
}
}
这样就可以啦~ 我这里是不要具体时间的,所以直接写了yyyyMMdd 如果你们的系统需要具体时间 也可以随意修改哦~加上HHmmssfff就好了。
原帖标题是net core3.0 经实测3.1也可以 原帖链接:https://blog.csdn.net/chen1989jun/article/details/101285869