Ama*_*pta 15 javascript timezone angularjs momentjs angular-moment
从服务器收到的日期是在UTC时区,我需要将其转换为特定的时区,例如:America/New_York.Florlowing是相同的代码
<span class="bold" ng-bind="sess.date_time | amTimezone:'America/New_York' | amDateFormat:'h:mm a'"></span>
Run Code Online (Sandbox Code Playgroud)
但是这样做我得到以下错误:
Moment Timezone has no data for America/New_York. See http://momentjs.com/timezone/docs/#/data-loading/.
Run Code Online (Sandbox Code Playgroud)
但这America/New_York是一个已知的时区,moment但仍然要求我添加时区.
Mat*_*int 50
您需要加载以下所有内容:
在时刻时区主页上,有三种不同的时刻分布.
moment-timezone.js是只是脚本.它不包含时区数据.如果您使用此分发,则可以按照文档中的说明moment.tz.add,或者moment.tz.load按照文档中的说明,提取您自己的时区数据.
moment-timezone-with-data.js包括来自tz数据库的所有已知时区数据,用于网站上提到的版本.
moment-timezone-with-data-2012-2022.js包含相同的tz数据,但截断到2012年到2022年.这是一个小得多的数据文件,足以满足大多数浏览器端应用程序的需要.
每个都有缩小版本.
因此,如果您正在获取"Moment Timezone has no data for America/New_York",因为它America/New_York是一个有效的TZ数据库标识符,那么您只是没有为它加载数据.您可能正在使用moment-timezone.js而不向其添加数据.要么包含时区数据moment.tz.add,要么(更恰当地)切换到已包含所有时区数据的文件之一.
但是,不要两者都做.时区数据只应加载一次,而moment-timezone脚本只能加载一次.如果您使用moment-timezone-with-data.js或者moment-timezone-with-data-2012-2022.js,则不应使用moment-timezone.js,因为该脚本已包含在内.
| 归档时间: |
|
| 查看次数: |
19066 次 |
| 最近记录: |