假设我有以下内容DateTime
: DateTime.UtcNow
,并且我想根据用户的时区在客户端上显示它,并且不会重复到JavaScript
.
我应该怎么做?我想我应该从某个地方获取当前请求的时区,不知何故,基于用户IP或其他东西?
假设我有以下内容DateTime
: DateTime.UtcNow
,并且我想根据用户的时区在客户端上显示它,并且不会重复到JavaScript
.
我应该怎么做?我想我应该从某个地方获取当前请求的时区,不知何故,基于用户IP或其他东西?
据我所知,使用 IP 地址到物理地址的转换服务是 JavaScript 的唯一“自动”且可靠的替代方案。根据您希望 IP 地址到物理位置转换的准确程度,您可能需要转向付费服务(我在想,如果用户靠近时区边界,您可能会错误地放置它们)。
我还遇到了将 IP 地址范围与国家/地区相匹配的免费可下载数据库。但是这些确实会不时更改,并且可能已过时。我会提供一个链接,但不久前我发现了这个。希望知道这种事情就在那里会有所帮助。
您应该考虑到,您的用户可能希望手动设置他们的首选时区,以防他们旅行但仍希望看到相同的时间(我在工作中遇到的情况)。
请记住,JavaScript 是最简单的解决方案和最可靠的解决方案,所以如果您可以使用它......去吧
更新:
我在这里发现了一个类似的问题,几乎涵盖了它如何在 c# 中获取当前用户时区
您可以尝试使用类似
http://www.geobytes.com/iplocator.htm