当前位置:  开发笔记 > 编程语言 > 正文

Web应用程序时区问题

如何解决《Web应用程序时区问题》经验,为你挑选了1个好方法。

我们在中西部(东部标准时间)启动并运行服务器的ASP.Net 2.0 Web应用程序.此时,我们所有的客户都与服务器位于同一时区.我们将在亚利桑那州(Mountain Standard Time)在线提供另一台服务器.

我们通过C#codebehind DateTime.UtcNow将所有时间存储在SQL 2005数据库中.

在测试期间,我们遇到了一些时区转换问题.我们的问题是,在网络浏览器中,我们的时间显示的是山地标准时间而不是我们正在测试的时区,即东部标准时间.

当我们输入新信息时,它会以UTC的形式存储在数据库中,但是当我们在浏览器中查看该信息时,它会显示Mountain Standard Time.下面是从数据库中获取UTC值并在浏览器中显示的代码.

lblUpdatedDate.Text = Convert.ToDateTime(dr["UpdatedDate"]).ToLocalTime().ToString();

上面的代码返回服务器所在的Mountain Standard Time,而不是运行浏览器的Eastern Standard Time.我们如何有时间显示用户所在的位置?



1> TheCodeMonk..:

我遇到过同样的问题.我们将应用程序出售给与Web服务器位于不同时区的用户.我们没有以UTC格式存储任何时间信息,但实际上它正常工作.服务器时区中显示的时间正好落后3小时.我们所要做的只是添加一个时区下拉,以便他们可以为整个站点选择他们的时区(因为应用程序的唯一用户将在他们的时区).我们保存了此设置,然后插入了一个函数来进行所有日期时间显示,并使用TimeZoneInfo命名空间从一个时区转换到另一个时区.它完美地运作.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有