时刻在不同的时区得到时间

时间:2016-01-24 16:57:07

标签: 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

I&#39; I IN IST并输入以下命令

moment().tz('EST');

返回时间在IST,如果我尝试相同的其他时区CST,PDT,MDT我得到错误

Moment Timezone has no data for ---.

检查以下图片

enter image description here

这里有什么问题?

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

或者有人请告诉我什么是EST数据字符串

中的EST和其他时区的字符串

如果我在this文件中搜索有很多字符串,比如

我想要&#34;查询&#39; America / Los_Angeles&#39;并且你将获得EST时间&#34;。

提前致谢

1 个答案:

答案 0 :(得分:1)

您永远不应该依赖时区缩写来进行选择或输入。他们太模糊了。 &#34; CST&#34;单独有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>