用凉亭安装时刻 - 时区后:
我看到有最新时区数据的打包和解压缩版本。
在moment-timezone.js中,我看到有一个占位符// INJECT DATA,我认为我应该插入我感兴趣的数据的打包版本。
我看到我的moment-timezone-utils.js包含打包/解包/过滤数据的方法。
我是否应该使用所有这些来离线准备我所需的数据版本,而不是插入输出结果而不是// INJECT DATA占位符?
更新
由于Moment主页中的“数据”部分目前正在“即将推出......”我目前所做的是手动离线运行:
JSON.stringify(moment.tz.filterLinkPack(unpackedBundle, startYear, endYear));
我从\ data \ unpacked文件夹中获取了 unpackedBundle json对象。
然后在我的java脚本代码中将结果加载到moment-timezone。
moment.tz.load(filteredLinkedPackedBundle);
答案 0 :(得分:1)
请参阅the Data Loading documentation。 moment.tz.add
和moment.tz.link
方法可用于加载单个区域和linke,或者您可以使用moment.tz.load
加载包含多个区域的JSON数据。
使用回购中来自/data/packed的数据的打包版本。 latest.json
包含当前版本的整个数据文件。您可以编辑此文件以删除您不关心的信息。
最简单的方法是使用已包含数据的the moment-timezone main page中的一个文件。
moment-timezone.js
不包含任何数据,只包含脚本。使用上述功能。
moment-timezone-2010-2020.js
包含脚本和所有时区的数据,这些数据被截断以包含最近几年的更改。
moment-timezone-all-years.js
包含脚本以及所有年份所有时区的时区数据。它与使用moment-timezone.js
文件和加载latest.json
数据包基本相同。
您无需修改脚本本身,因为可以单独加载数据。脚本中的// INJECT DATA
注释只是一个占位符,用于片刻时区的构建过程,以便在构建网站文件时知道数据的放置位置。