为了账号安全,请及时绑定邮箱和手机立即绑定

确定用户的时区

确定用户的时区

收到一只叮咚 2019-06-03 16:02:54
确定用户的时区Web服务器是否有一种标准的方法可以在网页中确定用户的时区?可能来自HTTP头或部分user-agent弦乐?
查看完整描述

4 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

-new Date().getTimezoneOffset()/60;

方法getTimezoneOffset()将您的时间从格林尼治时间减去并返回分钟数。所以,如果你住在格林尼治标准时间-8,它将返回480。

把它分成几个小时除以60。另外,注意这个标志与你需要的正好相反-它是计算格林尼治标准时间与你的时区的偏移量,而不是你的时区与格林尼治标准时间的偏移量。要解决这个问题,只需乘以-1。


查看完整回答
反对 回复 2019-06-03
?
HUX布斯

TA贡献1876条经验 获得超6个赞

最受欢迎的?确定我所见过的时区的方法很简单询问用户自己。如果您的网站需要订阅,可以将其保存在用户的配置文件数据中。对于Anon用户来说,日期可以显示为UTC或GMT或其他类似的。

我不是想成为一个聪明的人。只是有时候有些问题在任何编程环境之外都有更好的解决方案。


查看完整回答
反对 回复 2019-06-03
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

到目前为止,还没有报告客户端时区的HTTP报头,尽管建议将其包括在HTTP规范中。

如果是我,我可能会尝试使用客户端JavaScript获取时区,然后使用Ajax或其他方法将其提交给服务器。


查看完整回答
反对 回复 2019-06-03
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

JavaScript是获取客户端本地时间的最简单方法。我建议使用XMLHttpRequest若要发回本地时间,如果失败,则返回根据其IP地址检测到的时区。

就地理定位而言,我用了MaxMind GeoIP虽然我不确定它们是否提供时区数据,但它在几个项目上工作得很好。这是一个你付费的服务,他们每月更新你的数据库。它们以多种网络语言提供包装。


查看完整回答
反对 回复 2019-06-03
  • 4 回答
  • 0 关注
  • 494 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信