2010-06-22 127 views
0

Pl帮助我。我以UTC格式保存日期。同时显示它,我将它转换为当地时间。但它显示服务器时间。我如何通过识别客户端时区来显示日期?如何根据客户端时区向用户显示日期

+0

给我们一个提示....哪个操作系统,哪个应用程序或开发环境? – MikeD 2010-06-22 06:44:07

+0

甚至可能向我们展示您正在使用的代码,显示输入,然后显示输出。 – 2010-06-22 06:55:06

回答

1

我想冒险猜测你在做C#代码转换作为ASP.NET网站的一部分。

转换为本地时间将转换为代码实际执行的机器的本地时间。因此,当您转换为本地时间时,您将转换为服务器计算机的本地时区,而不是客户端计算机。

要转换为客户端本地时间,您需要知道客户端本地时区。不幸的是,标准的ASP.NET HttpRequest没有包含这些信息(主要是因为HTTP协议没有为客户端HTTP代理传递本地时区到HTTP服务器指定一个标准方式)。有多个人就这个问题提出了各种解决方案;这里有一篇关于Handling TimeZone Information In ASP.NET的博客文章,可以帮助你。

+0

感谢您的回复..其实我试着用JavaScript,如你所说,它工作正常。在这里,我使用JavaScript有一个问题。 我能够获得客户端timezoneoffset并将其放入一个静态变量,并将其添加到最近浏览过的信息的utc日期以获取客户端时间信息。不幸的是,body onload正在触发page_load事件。在page_load本身,我需要向用户显示日期。在我们的场景中,如果我们刷新页面,那么它会正确显示。 – stackuser1 2010-06-23 12:39:13

+0

请帮助我...如果你有任何信息。 – stackuser1 2010-06-23 12:39:59

+0

您可以启动一小段JavaScript来调用服务器的AJAX来获取更新的日期,而不是进行整页刷新。 – 2010-06-23 16:40:47

相关问题