使用c#检测客户端的时区



我正在使用ASP.NET Webforms来获取客户端的数据。到目前为止,我已经找到了客户端和城市的IP地址;客户所在的国家。我正试图找到一种方法,如何通过使用其IP地址、国家名称或城市名称来检索时区。我在谷歌上搜索过,找不到任何合适的答案,因为每个人都在谈论注入javascript来获取时区。我的问题是:有没有办法找到客户的时区?如果是,那怎么办?"

纯粹使用C#是不可能以可靠的方式做到这一点的。HTTP规范没有提供客户端时区的任何提示。

您可以使用IP地理定位在客户端的时区猜测,并且有许多免费和商业服务提供时区信息。然而,这种方法的准确性有限。

即使使用JavaScript,当前的解决方案仍然只能猜测客户端的时区。在ECMAScript Intl API中对此进行了改进,但并不是所有浏览器都完全实现了这一点。点击此处查看更多信息。

最终,如果您需要从后端代码中了解客户端的时区,最好的做法是询问用户。在应用程序中的某个位置提供时区选择器。

你可能也会发现这个相关的答案很有用。

您是否尝试过使用TimeZoneInfo类它代表着世界上任何一个时区。

https://msdn.microsoft.com/en-us/library/system.timezoneinfo(v=vs.110).aspx

相关内容

  • 没有找到相关文章