【发布时间】:2011-02-03 03:10:43
【问题描述】:
我正在使用 SQL Azure 开发 Silverlight 应用程序。据我所知,如果 DateTime Kind 未指定,Silverlight 会将其更改为 Local 并将保存到 Azure 作为 UTC 时间。
一切都按预期工作,但是当我从 SQL Azure 获得 DateTime 数据时,它的 Kind 是 Unspecified 并且 Silverlight 在 UI 上显示时不会转换回 Local 时间。
例如:我在罗马 (UTC +1) 使用我的应用程序,我将日期设置为 15:00,然后保存到数据库。在数据库中,它将保存为 14:00 (UTC)。
现在我打开页面来编辑该数据,它从数据库中查询为 14:00,Unspecified 种类,它还在页面中显示 14:00,这显然是不正确的。
我尝试在 DomainService 中设置DateTime kind(在将这些数据返回给客户端之前),通过检查其类型是否未指定,将其设置为 UTC。这一次,当我在页面上更改 DateTime 时,它的类型始终是 UTC。
似乎silverlight只有当它的种类是Unspecified时才会转换日期,否则它什么也不做,它也不能从数据库中转换DateTime以正确显示,即使那些DateTime有Kind。
我想知道,有没有解决这个问题的办法?
【问题讨论】:
标签: silverlight wcf datetime timezone azure