我有一个基于预测的应用程序,它在 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();
返回序列化程序。序列化(数据对象);
这是 JavaScriptSerializer 对象中的错误还是有修复此增量的技巧?基本上,我不希望 .NET 框架以任何方式干扰这个值,我只希望 DB 字段按原样返回。