我们在中西部(东部标准时间)的服务器上启动并运行了一个 ASP.Net 2.0 Web 应用程序。此时,我们所有的客户都与服务器处于同一时区。我们将在亚利桑那州(山区标准时间)上线另一台服务器。
我们通过 C# 代码隐藏 DateTime.UtcNow 将所有时间存储在 SQL 2005 数据库中。
在测试过程中,我们遇到了一些时区转换问题。我们的问题是,在网络浏览器中,我们的时间显示的是山区标准时间,而不是我们正在测试的时区,即东部标准时间。
当我们输入新信息时,它会以 UTC 格式存储在数据库中,但是当我们在浏览器中查看该信息时,它会显示山区标准时间。下面是从数据库中获取 UTC 值并将其显示在浏览器中的代码。
lblUpdatedDate.Text = Convert.ToDateTime(dr["UpdatedDate"]).ToLocalTime().ToString();
上面的代码返回服务器所在的山区标准时间,而不是运行浏览器的东部标准时间。我们如何获得时间来显示用户的位置?