【问题标题】:Get exact timezone of client in javascript在javascript中获取客户端的确切时区
【发布时间】:2018-03-15 12:29:54
【问题描述】:

我需要知道客户的确切时区,无论它是否属于具有相同 GMT 的时区列表。

例如:

如果用户来自开罗,我如何从 javascript 中识别他是否来自开罗。有太多国家属于同一 GMT。

我用过这个:

var timezone = new Date().toTimeString().split("(");
console.log( timezone[1].toString().replace(")", ""));

但这总是返回Eastern Europe Standard Time

我被卡住了,我不知道如何实现这一点。

基本上我已经从服务器端填充了一个包含所有时区的下拉列表,我需要如何根据用户当前时区选择时区。

【问题讨论】:

  • 最好检查 API 以从某些浏览器 JS api 中找出用户所在的国家/地区,并使用它来确定各自的时区

标签: javascript angularjs timezone timezone-offset


【解决方案1】:

不要使用 Date 对象,而是尝试像这样使用Internationalization API (compatibility):

console.log(Intl.DateTimeFormat().resolvedOptions().timeZone)

【讨论】:

  • 好的,但是如何根据国家/地区选择下拉菜单。它只是返回非洲/开罗
  • @Abhishek 发布您选择的 html,您必须将给定的时区与选择选项的值相匹配
  • 我正在使用 c# TimezoneInfo 类填充时区下拉列表。而且我使用的是 angularjs,因此无法在此处发布代码或重新制作项目。
  • 无论如何你都可以工作,通过改变你的机器的时区并匹配代码
猜你喜欢
  • 2012-05-05
  • 2013-07-05
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
  • 2017-08-11
  • 2016-05-21
  • 2011-11-21
  • 2015-04-26
相关资源
最近更新 更多