我有一个返回此值的休息调用(使用 Chrome 中的 Advance Rest Client 进行测试):
MyObject: [22]
0: {
ID: "123456"
UTC1: "2013-04-19T03:12:32Z"
UTC2: "2013-04-19T03:12:36.994Z"
}
获取响应并将其序列化为对象的代码如下所示:
IRestResponse<List<MyObject>> response = client.Execute<List<MyObject>>(request);
当我查看响应对象时,其中一个日期是错误的。如果我检查它或以任何方式使用这些对象,我会得到以下信息:
UTC1: 4/19/2013 3:12
UTC2: 4/18/2013 9:12:36 PM <--CONVERTED!!
我需要将两者序列化为响应中返回的时间,而不是从 UTC/GMT 转换为本地时间。正如您所看到的,上面的一个值保留其 UTC 值,而另一个值则转换为我的时区。我认为两者都是通过 Convert.DateTime 函数运行的,但如果我对字符串执行此操作,则两个值都会转换为本地时间。我意识到原始值(正在转换的值)并不完全遵循 ISO 8601 格式(精度太高);不幸的是,这是我现在必须使用的数据。
谁能告诉我如何强制 RestSharp 确保两个日期均为 UTC?
Use Json.NET http://james.newtonking.com/json进行反序列化而不是内置的 RestSharp 反序列化器。
response = client.Execute(request);
var myObjects = JsonConvert.Deserialize<List<MyObject>>(response)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)