javascript - 时刻获取不同时区的时间

标签 javascript jquery datetime timezone momentjs

我只有四个不同的时区

<select class="pull-left marg-l-5px" id="hoursTimezone">
 <option>-</option>
 <option>EST</option>
 <option>CST</option>
 <option>PDT</option>
 <option>MDT</option>
</select>

我将带有数据的时刻 timzone 文件添加到我的项目中,文件名为

/moment-timezone-with-data-2010-2020.js

我在 IST 中并输入以下命令

moment().tz('EST');

在 IST 中返回时间,如果我对其他时区 CST、PDT、MDT 尝试相同的操作,则会收到错误

Moment Timezone has no data for ---.

检查下面的图片

enter image description here

这里出了什么问题?

有没有办法只在这些时区获取时间?

或者有人请告诉我时刻数据字符串中 EST 和其他时区的字符串是什么

如果我在 this 中搜索,有这么多字符串文件,例如

我想要类似“查询“America/Los_Angeles”,您将获得美国东部时间”。

提前致谢

最佳答案

您永远不应该依赖时区缩写来进行选择或输入。他们实在太暧昧了。 “CST”本身就有 5 种不同的含义。请参阅the list on Wikipedia .

此外,缩写并不一定代表整个时区。请注意,CST 仅适用于标准时间的北美中部时区,而 CDT 适用于白天时间。

还要认识到,时刻时区中使用的时区必须在 IANA 时区数据库中有效。 You can find a list here .

我相信您正在寻找的是美国适用的时区。假设您不关心历史日期,则最小集还需要包括亚利桑那州、夏威夷州和阿拉斯加。该列表将是:

<select class="pull-left marg-l-5px" id="hoursTimezone">
 <option>-</option>
 <option value="America/New_York">Eastern</option>
 <option value="America/Chicago">Central</option>
 <option value="America/Denver">Mountain</option>
 <option value="America/Phoenix">Arizona</option>
 <option value="America/Los_Angeles">Pacific</option>
 <option value="America/Anchorage">Alaska</option>
 <option value="Pacific/Honolulu">Hawaii</option>
</select>

关于javascript - 时刻获取不同时区的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34978633/

相关文章:

javascript - 如何打开页面中具有多个jstree的jstree特定 Node

Javascript 函数内的 PHP 变量输出变量而不是值

javascript - 如何将选项卡的焦点从一个元素转移到另一个元素?

javascript - 跨浏览器始终从 Javascript 中的 JSON 时间戳解析日期

用于获取时间和日期的 Java 库或 Android

javascript - 如何等到所有图片上传到firebase才调用函数

javascript - 将 HTML 页面推到一侧

javascript - 如何将 Array 转换为 CanvasPixelArray 或创建 CanvasPixelArray 对象?

javascript - 使用 Jquery 使嵌套 forEach 循环下的每个部分可折叠

asp.net-mvc-3 - 隐藏日期的默认值