【发布时间】:2011-06-24 08:48:50
【问题描述】:
我有一个基于预测的应用程序,它在 Windows Azure (http://ipredikt.com) 上运行。据我所知,Azure 的时钟与 GMT 时区同步。这是我遇到的一个问题:
假设我有一个类型为 DateTime 的名为 CreateDate 的数据库字段,我将其值设置为 2011 年 6 月 10 日凌晨 12:30。创建新预测时。如果我在 db 表内窥视,则日期设置正确。我不会以任何方式触摸或更改此值。但是,当我使用我们的 API 读取该值,将其序列化并将其发送给客户端时,我会得到一个值为 2011 年 6 月 9 日下午 5:30 的日期。 (API dll 也存在于云端,可能与 DB 并置。)
我的客户端浏览器在 PST(太平洋时区)运行,似乎 7 小时的差异是由于 PST 和 GMT 之间的差异。用于序列化值的 API 代码类似这样:
System.Web.Script.Serialization.JavaScriptSerializer 序列化器 = new JavaScriptSerializer();
return serializer.Serialize(dataObject);
这是 JavaScriptSerializer 对象中的错误还是有修复此增量的技巧?基本上,我不希望 .NET 框架以任何方式干扰这个值,我只希望 DB 字段按原样返回。
【问题讨论】:
标签: azure timezone javascriptserializer