json.net - 如何使用正确的时区 c# 反序列化 Datetime json
问题描述
我的应用程序使用 API,其中一个 API 以 unix 时间格式返回 Datetime 值
ex: user.DateOfBirth = "/Date(476197200000+1100)/"
反序列化过程运行良好(deserialize<User>
对象)但是当我向 GUI 显示日期时间时。
UI 将此日期显示为 2/Feb/1985 我的预期是:3/Feb/1985
我的本地环境正确显示,它是 3/Feb/1985,但在 UAT 环境中,它显示不到 1 天(2/Feb/1985)
我正在使用 Newtonsoft.Json v10.xx
解决方案
不确定您是如何反序列化的,但您可能想研究如何使用特定时区进行解析。
你可以试试这个。
microsoftDateFormatSettings =
new { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
DateTimeZoneHandling = DateTimeZoneHandling.Local};
var items = JsonConvert.DeserializeObject<List<lstObject>>.
(jsonString, microsoftDateFormatSettings);
推荐阅读
- c# - 影响 Azure 应用服务 (ASP.NET WebApi) 中的并发性的限制因素是什么?
- c++ - 重载的小于运算符返回相反的布尔值
- python-3.x - 如何计算熊猫列中非空元素的数量?
- c++ - 在 C/C++ 中打开位于“/sys/”下的文件时出错
- spring-boot - SpringBootApplication 与 Spring Starter Web 错误
- node.js - 无法在 mongoDb 集合中保存数据:“ReferenceError:模型未定义”
- image - python图像显示
- swiftui - 在 SwiftUI 中返回泛型 View 类型的方法
- elasticsearch - ElasticSearch 查询字符串在嵌套对象中按范围搜索日期
- reactjs - 如何声明 SVG 组件的 props 类型?[React、TypeScript 和 Webpack]