mar*_*eng 42
首先包括moment-timezone数据然后你可以使用moment.tz.names();
小智 19
var timeZones = moment.tz.names();
Run Code Online (Sandbox Code Playgroud)
见http://momentjs.com/timezone/docs/#/data-loading/getting-zone-names/
小智 9
请注意,默认情况下,moment.js没有附带moment-timezone.js,你必须得到它.
bower install moment-timezone --save
npm install moment-timezone --save
Install-Package Moment.Timezone.js
Run Code Online (Sandbox Code Playgroud)
或者下载
然后你可以用这种方式需要一组时区:
var timezones = moment.tz.names();
Run Code Online (Sandbox Code Playgroud)
另一个有用的技巧是你可以设置(猜测)当前用户时区,这样你就不必让用户在一个巨大的列表中查找他的时区,或者你可以默认设置一个时区然后让用户更改它如果他需要它.
var currentUserTimezone = moment.tz.guess();
Run Code Online (Sandbox Code Playgroud)
此外,如果需要,您可以获得时区的缩写,以防您需要提供时区缩写:
moment.tz('America/Los_Angeles').format('z') //PDT
Run Code Online (Sandbox Code Playgroud)
对于时区,您应该手动添加自己制作的时区JS文件。
在此页面中,您可以选择区域并在您moment.js先加载后生成要加载的文件。
你应该有这样的东西,看看:
<script src="/javascripts/modules/moment/moment-with-langs.min.js"></script>
<script src="/javascripts/modules/moment/moment-timezone.min.js"></script>
<script src="/javascripts/modules/moment/moment-timezone-data.js"></script>
Run Code Online (Sandbox Code Playgroud)
JSmoment-timezone-data.js是时区的自定义列表。
但是,到目前为止我知道,MomentJS不会为您返回所有时区的列表,因为时区也可以更改。如果您需要填充select标签,我建议您从上面的链接手动解析时区列表。
包括来自 cdn 的moment-timezone.js。
现在,用于moment.tz._names将时区作为对象获取。该方法moment.tz.names()还将时区作为数组提供,但速度较慢。
0.4.0 之前的版本没有moment.tz._names对象,因此moment.tz.names()必须使用方法。
小智 5
有378个时区。时区是关于时间的规则的任意组合,包括DST,该规则在任何时间段内都有效,无论在任何区域,无论多么微小,例如在印第安纳州的一个小镇上,决定将夏令时改为两个在1940年代。或者,以最近的例子为例,朝鲜时区刚刚上调了30分钟。或仅针对南极洲的十几个时区。
我怀疑您是否要在下拉菜单中显示所有这些时区。您需要选择最常见的50-100左右。您既可以自己做,也可以从Google等网站复制列表。您可能希望从24个偏移量中至少选择一个时区,因此无论一个人在哪里,他们都可以找到一种匹配的方式。
| 归档时间: |
|
| 查看次数: |
40296 次 |
| 最近记录: |