MomentJS - 插件
插件是 MomentJS 上添加的扩展功能。MomentJS 是一个开源项目,MomentJS 中有许多插件,这些插件由其用户贡献,可通过 Node.js 和 GitHub 获取。
本章讨论 MomentJS 中可用的一些日历插件和日期格式插件。
日历插件
本节讨论两种类型的日历插件:ISO 日历和波斯日历。
ISO 日历
您可以使用以下命令通过 Node.js 安装它 −
npm install moment-isocalendar
您可以从 GitHub 获取 moment-isocalendar.js − https://github.com/fusionbox/moment-isocalendar 使用 isocalendar 和 MomentJS − 观察以下工作示例
示例
var m = moment().isocalendar();
输出

示例
var m = moment.fromIsocalendar([2018, 51, 10, 670]).format('LLLL');
输出

波斯日历
您可以使用以下命令通过 Node.js 安装它 −
npm install moment-jalaali
您可以从 GitHub 获取 moment-taiwan.js − https://github.com/bradwoo8621/moment-taiwan 使用 isocalendar 和 MomentJS − 观察以下工作示例
示例
var m = moment('190/01/01', 'tYY/MM/DD'); var c = m.twYear();
输出

日期格式插件
本节讨论以下类型的日期格式插件 −
- Java dateformat 解析器
- 短日期格式化程序
- 解析日期格式
- 持续时间格式
- 日期范围
- 精确范围
Java DateFormat 解析器
您可以使用以下命令通过 Node.js 安装它 −
您可以从 GitHub 获取 moment-jdateformatparser.js − https://github.com/MadMG/moment-jdateformatparser 观察以下 moment-jdateformatparser 和 MomentJS 的工作示例 −
示例
var m = moment().formatWithJDF("dd.MM.yyyy");
输出

短日期格式化程序
shortdateformat 的 JavaScript 文件可从 GitHub 获取 −
https://github.com/researchgate/moment-shortformat语法
moment().short();
显示内容如下表所示 −
From moment | From moment().short() |
---|---|
0 to 59 seconds | 0 to 59 s |
1 to 59 minutes | 1 to 59 m |
1 to 23 hours | 1h to 23h |
1 to 6 days | 1d to 6d |
>= 7 days and same year | Display will be like such as feb 3, mar 6 |
>= 7 days and diff year | Display will be like such as feb 3, 2018, mar 6, 2018 |
您可以从上面给出的 GitHub 链接获取 momentshort 脚本。
示例
var a = moment().subtract(8, 'hours').short(); var b = moment().add(1, 'hour').short(true);
输出

如果要去掉后缀ago或in,可以给short(tru传递true。
解析日期格式
可以使用以下命令用Node.js安装 −
npm install moment-parseformat
示例
var a = moment.parseFormat('Friday 2018 27 april 10:28:10');
输出

观察输出显示,无论为 parseFormat 提供什么参数(日期/时间),它都会提供如上所示的日期格式。
持续时间格式
您可以使用以下命令在 Node.js 上安装持续时间格式 −
持续时间格式的存储库可在此处获得 − https://github.com/jsmreese/moment-duration-format 让我们看一个持续时间格式的工作示例 −
示例
var a = moment.duration(969, "minutes").format("h:mm:ss");
输出

这会为所创建时刻的持续时间添加更多详细信息。
日期范围
您可以使用以下命令在 Node.js 上安装日期范围 −
npm install moment-range
示例
window['moment-range'].extendMoment(moment); var start = new Date(2012, 0, 15); var end = new Date(2012, 4, 23); var range = moment.range(start, end); console.log(range.start._d); console.log(range.end._d);
输出

精确范围
精确范围将以日期、时间和人类可读的格式显示准确的日期差异。您可以使用以下命令在 Node.js 上安装精确范围 −
npm install moment-precise-range-plugin
示例
var a = moment("1998-01-01 09:00:00").preciseDiff("2011-03-04 18:05:06");
输出
