2009-06-05 202 views
1

我有一个Silverlight客户端与一些ASP.NET Web服务通信,然后修改数据库。客户端可以修改数据并通过Web服务将数据发送到数据库。这些数据按日期组织。如何确保使用正确的DateTime?

显然,客户端可以驻留在与ASP.NET服务器不同的时区,因此,如何确保DateTime信息位于数据库的正确时区? DateTime的时区信息是否会在客户端和服务器之间存活,以至于转换为UTC将正确导致UTC时间,还是需要在客户端进行UTC转换?

回答

5

您应该在您的代码中使用DateTime.UtcNow,那么在需要转换的位置是没有问题的。

由于Silverlight在客户端的机器上使用.NET运行时运行,因此我认为它会在用户的本地时区中获取时间。

可以使用TimeZoneInfo类Silverlight来获得用户的时区信息。该DateTime类本身不存储特定的时区信息(时间正好是通用或本地时间),所以你” d需要使用它来确定用户的时区。

+0

谢谢 - 我有一阵困惑 - 现在对我来说都很明显。在另一点上,有一种情况我根本不想转换,但是我从某个地方得到它,有关如何防止它的任何想法? – 2009-06-05 14:21:18