我有一个使用GoDaddy托管的网络应用程序(因此网络服务器位于亚利桑那州 - 山区时间)。我的用户大多在中央时区,但我可以从其他时区获得一些。
我有一个带有数据绑定dropDownList的网页,使用TimeZoneInfo,我想将此dropDownList的选定值设置为用户所在的任何时间区域。这是我目前的代码:
protected void Page_Load(object sender, EventArgs e)
{
DropDownListTimeZone.DataSource = TimeZoneInfo.GetSystemTimeZones();
DropDownListTimeZone.DataBind();
TimeZoneInfo cst = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
DropDownListTimeZone.SelectedValue = cst.DisplayName;
}
没关系,但我希望那些不在CST的用户更聪明。我希望有一些方法可以从Page.Request这样的东西中获取用户的TimeZoneInfo。但我无法弄清楚。
有一个简单的解决方案吗?
答案 0 :(得分:0)
我认为这需要一些javascript;因为它在用户的浏览器上运行,它可以选择计算机设置的任何时区,并相应地在下拉列表中设置所选项目。
http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/
答案 1 :(得分:0)
我希望有一些方法可以从Page.Request
这样的东西中获取用户的TimeZoneInfo。
没有。您可以使用JavaScript从客户端猜测 - 请参阅this question - 但这只是猜测。
没有界面可以从浏览器获取明确的客户端时区信息。因此,您肯定希望使用JS猜测作为默认值来提供用户选择的设置。