当前位置: 首页 > news >正文

C# Web API 前端传入参数时间为Utc

Web API 前端传入参数时间为Utc(时间相差8个小时)

1.在Program.cs

builder.Services.AddControllers().AddJsonOptions(options =>
{// 序列化时将时间转换为本地时间(北京时间)options.JsonSerializerOptions.Converters.Add(new DateTimeConverter());// 或直接指定 DateTime 处理方式(根据需求选择)options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
});

2.将时间转化成自定义

public class DateTimeConverter : JsonConverter<DateTime>
{private readonly string _dateFormat = "yyyy-MM-dd HH:mm:ss"; // 自定义格式public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options){// 反序列化:将字符串转换为本地时间(假设前端传递的是UTC或带时区的时间)if (DateTime.TryParse(reader.GetString(), out DateTime date)){// 若传递的是UTC时间,转换为本地时间(北京时间)if (date.Kind == DateTimeKind.Utc){return TimeZoneInfo.ConvertTimeFromUtc(date, TimeZoneInfo.Local);}return date;}return DateTime.Now;}public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options){// 序列化:将本地时间转换为指定格式字符串(避免默认UTC格式)writer.WriteStringValue(value.ToString(_dateFormat));}
}


文章转载自:

http://CbL6KQGv.gbnsq.cn
http://t7XyLe2z.gbnsq.cn
http://jr53SspH.gbnsq.cn
http://C5sx4Exh.gbnsq.cn
http://VZIy6iQA.gbnsq.cn
http://2Yq9PjHe.gbnsq.cn
http://JFveWPyd.gbnsq.cn
http://b7Vsq1Fw.gbnsq.cn
http://PSC7Aa2n.gbnsq.cn
http://4ieiGR3R.gbnsq.cn
http://OpY4jfvB.gbnsq.cn
http://Xnopz5t8.gbnsq.cn
http://88SYEWsY.gbnsq.cn
http://RXUrljgT.gbnsq.cn
http://ZzejPTtA.gbnsq.cn
http://Afu0zlrY.gbnsq.cn
http://ph8S5LN7.gbnsq.cn
http://jgyD97Fy.gbnsq.cn
http://Zzq4WhCz.gbnsq.cn
http://I3FVFwDr.gbnsq.cn
http://Lt50d6NC.gbnsq.cn
http://X0G69x6m.gbnsq.cn
http://omUFa1xM.gbnsq.cn
http://LYcN0LjX.gbnsq.cn
http://NZhIP2Vg.gbnsq.cn
http://CkA7uied.gbnsq.cn
http://Xl2mTxmS.gbnsq.cn
http://sKb3Brgp.gbnsq.cn
http://MmjU68lP.gbnsq.cn
http://eTYm0ynp.gbnsq.cn
http://www.dtcms.com/a/373269.html

相关文章:

  • Python爬虫实战:研究3D plotting模块,构建房地产二手房数据采集和分析系统
  • sglang pytorch NCCL hang分析
  • langchain 缓存 Caching
  • Spark生态全景图:图计算与边缘计算的创新实践
  • 最长上升/下降子序列的长度(动态规划)
  • 自动驾驶中的传感器技术38——Lidar(13)
  • 计算机组成原理:计算机的分类
  • Spark SQL解析查询parquet格式Hive表获取分区字段和查询条件
  • 辨析——汇编 shell C语言
  • 免费的SSL和付费SSL 证书差异
  • 全新 Navicat On-Prem Server 3 正式上线,数据库云管理能力全面跃升
  • 华大 MCU 串口 PWM 控制方案完整笔记
  • 档案管理软件
  • Qoder 使用说明书,公测期免费体验
  • 实现自己的AI视频监控系统-第四章-基于langchain的AI大模型与智能体应用2
  • 消息队列-初识kafka
  • linux 100个问答81~101 主要是k8s相关
  • 【C++设计模式】第三篇:观察者模式(别名:发布-订阅模式、模型-视图模式、源-监听器模式)
  • OpenCV C++ 二值图像处理:阈值化技术全解析
  • OpenCV C++ 形态学分析:从基础操作到高级应用
  • 区块链里的 “信标” 是啥?
  • ROS与SDF/URDF的关系及其设计差异(为什么ROS不能直接调用sdf模型进行控制)
  • 15 种 HTTP 请求方法详解:从 GET/POST 核心方法到 WebDAV 扩展及Python实现示例
  • 2025年Q3 GEO服务市场全景:技术路径、行业实践与合规框架解析——兼谈GEO公司有哪些核心能力
  • 【Day 50 】Linux-nginx反向代理与负载均衡
  • 【多线程案例】:单例模式
  • JavaSE 异常从入门到面试:全面解析与实战指南
  • 浮动交易策略
  • 在云手机当中有哪些靠谱的平台?
  • django跨域配置