情不知从何起,一往而情深
排名
6
文章
199
粉丝
4
评论
3
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

.net core 3.0+ json时间格式化 ,全局配置json时间序列化格式

3241人阅读 2023/10/20 9:53 总访问:1125749 评论:0 收藏:0 手机
分类: .net core

需要先创建格式类:

  1. namespace WY.JBLand.API.MyResults
  2. {
  3. public class DateTimeConverters : JsonConverter<DateTime>
  4. {
  5. public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  6. {
  7. return DateTime.TryParse(reader.GetString(), out var dateTime) ? dateTime : default(DateTime);
  8. }
  9. public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
  10. {
  11. writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss"));
  12. }
  13. }
  14. public class DateTimeNullConverters : JsonConverter<DateTime?>
  15. {
  16. public override DateTime? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  17. {
  18. return DateTime.TryParse(reader.GetString(), out var dateTime) ? dateTime : default(DateTime);
  19. }
  20. public override void Write(Utf8JsonWriter writer, DateTime? value, JsonSerializerOptions options)
  21. {
  22. writer.WriteStringValue(value == null ? "" : value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
  23. }
  24. }
  25. }

这里边的逻辑可以按照自己的需要修改

然后在ConfigureServices中去配置使用就可以了

  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3. services.AddControllers().AddJsonOptions(options =>
  4. {
  5. options.JsonSerializerOptions.Converters.Add(new DateTimeConverters());
  6. options.JsonSerializerOptions.Converters.Add(new DateTimeNullConverters());
  7. });
  8. services.AddApplication<WYJBLandAPIModule>(options =>
  9. {
  10. //Integrate Autofac!
  11. //options.UseAutofac();
  12. });
  13. }

需要其他什么类型的格式化都可以这样自己去写自定义的格式化类


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

js时间格式化vue.js时间格式化带T 时间格式化

也可以借助moment库, 参考:https://www.tnblog.net/aojiancc2/article/details/8079moment库有点大,推荐可以使用day.js...

.net core webapi json相关全局配置时间格式化首字母小写等

在ConfigureServices中可以进行全局json配置,例如,全局处理一下事件格式问题services.AddMvc(option=&gt; { //option.F...

.net core3.0 json时间格式化

首先创建一个需要格式类:publicclassDateTimeNullConverter:JsonConverter&lt;DateTime?&gt; { ///&lt;summary&gt; //...

JS日期时间格式化

Date的扩展函数format /** *对Date的扩展,将 Date 转化为指定格式的String *月(M)、日(d)、小时(h)、分(m)、秒(s)、...

layui时间格式化

可以先尝试这样写:{field:&#39;showtime&#39;,title:&#39;时间&#39;,templet:&quot;&lt;div&gt;{{layui.util.toDateString...

vuejs 时间格式化库moment使用。js获取时间日期

[TOC]官方网站:http://momentjs.cn/ moment库有点大,推荐可以使用day.js官网:https://dayjs.fenxianglu.cn/Element-plu...

day.js 获取上月当月下月。day.js 获取年月日。获取一周、上周、本月、上月、本季度、上季度时间段。时间格式化

官网:https://dayjs.fenxianglu.cn/Element-plus中可以直接使用: import { dayjs } from &#39;element-plus&#39; [TOC]...

vue3 element-plus 表格 day.js 时间格式化显示

引入day.js import { dayjs } from &#39;element-plus&#39; 显示时间 &lt;el-table-column prop=&quot;createTime&quot;...

css弹性盒子flex布局

css弹性盒子由于版本不同浏览器问题造成了一些不同的写法display:flexbox;在google浏览器中如果使用下面的写法就不行displa...

可输入下拉文本框据输入动态加载数据 jquery-editable-select

用到一个jquery-editable-select的控件github地址:https://github.com/indrimuska/jquery-editable-select这个插件的原理是...

.net mvc分部页.net core分部页

.net分部页的三种方式第一种:@Html.Partial(&quot;_分部页&quot;)第二种:@{ Html.RenderPartial(&quot;分部页&quot;);}...

css中单位pxemrem和vh/vw的理解

&gt;px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。em是相对长度单位。相对于当前对象内文本的字...

让IIS支持webp格式图片让IIS支持vtt格式iis设置mime类型iis配置支持的类型

webp格式图片可以让图片体积变小。也让下载图片变得更加困难一点 在线制作webp工具 https://www.upyun.com/webp?utm_mediu...

网页上传文件断点续传的实现无视文件大小上传以及datatables基本用法

首先明白js是客户带执行代码,c#是服务器上执行代码。本地文件需要用到js处理,服务器端接受c#代码处理1.HTML页面,文件信...

如何使用图标像使用文字一样使用文本图标的方法

1.首先在Iconfont-阿里巴巴矢量图标库上面找到你需要的图标然后加入你的购物车然后选择图标;注意:每个类型的图标会大小不...