我只有四个不同的时区
<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 ---.
检查下面的图片
这里出了什么问题?
有没有办法只在这些时区获取时间?
或者有人请告诉我时刻数据字符串中 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/