gpt4 book ai didi

c# - 防止反序列化 DateTime 值时进行时区转换

转载 作者:IT王子 更新时间:2023-10-29 04:14:04 25 4
gpt4 key购买 nike

我有一个使用 XmlSerializer 序列化/反序列化的类。此类包含一个 DateTime 字段。

序列化时,DateTime 字段由包含 GMT 偏移量的字符串表示,例如 2010-05-05T09:13:45-05:00。反序列化时,这些时间将转换为执行反序列化的机器的本地时间。

出于不值得解释的原因,我想阻止这种时区转换的发生。序列化发生在野外,存在此类的多个版本。反序列化发生在我控制的服务器上。因此,这似乎最好在反序列化期间处理。

除了实现 IXmlSerializable 并“手动”完成所有反序列化之外,我怎样才能做到这一点?

最佳答案

我所做的,是使用 DateTime.SpecifyKind 方法,如下:

DateTime dateTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified);

这解决了我的问题,希望对您有所帮助。

关于c# - 防止反序列化 DateTime 值时进行时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3188933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com