Angular时刻:时刻时区没有America/New_York的数据
Angular Moment : Moment Timezone has no data for America/New_York
从服务器收到的日期在 UTC
时区,我需要将其转换为特定时区,例如:America/New_York
。以下是相同
的代码
<span class="bold" ng-bind="sess.date_time | amTimezone:'America/New_York' | amDateFormat:'h:mm a'"></span>
但是这样做时出现以下错误:
Moment Timezone has no data for America/New_York. See http://momentjs.com/timezone/docs/#/data-loading/.
但是 America/New_York
是 moment
的已知时区,但它仍然要求我添加时区。
您需要加载以下所有内容:
- 时刻
- 时刻时区
- time zone data for moment-timezone
- angular-时刻
在moment-timezone主页上,提供了三种不同的时刻-时区分布。
moment-timezone.js
只是 脚本。它不包含时区数据。如果您使用此发行版,预计您将通过 moment.tz.add
或 moment.tz.load
提取您自己的时区数据,如文档中所述。
moment-timezone-with-data.js
包括来自 tz database 的所有已知时区数据,适用于网站上提到的版本。
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
,因为该脚本已包含在内。
从服务器收到的日期在 UTC
时区,我需要将其转换为特定时区,例如:America/New_York
。以下是相同
<span class="bold" ng-bind="sess.date_time | amTimezone:'America/New_York' | amDateFormat:'h:mm a'"></span>
但是这样做时出现以下错误:
Moment Timezone has no data for America/New_York. See http://momentjs.com/timezone/docs/#/data-loading/.
但是 America/New_York
是 moment
的已知时区,但它仍然要求我添加时区。
您需要加载以下所有内容:
- 时刻
- 时刻时区
- time zone data for moment-timezone
- angular-时刻
在moment-timezone主页上,提供了三种不同的时刻-时区分布。
moment-timezone.js
只是 脚本。它不包含时区数据。如果您使用此发行版,预计您将通过moment.tz.add
或moment.tz.load
提取您自己的时区数据,如文档中所述。moment-timezone-with-data.js
包括来自 tz database 的所有已知时区数据,适用于网站上提到的版本。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
,因为该脚本已包含在内。