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();

输出

Plugins

示例

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

输出

Plugins fromIsocalendar

波斯日历

您可以使用以下命令通过 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();

输出

Plugins Github

日期格式插件

本节讨论以下类型的日期格式插件 −

  • 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");

输出

Plugins formatWithJDF

短日期格式化程序

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);

输出

插件四

如果要去掉后缀agoin,可以给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");

输出

Plugins Repository

这会为所创建时刻的持续时间添加更多详细信息。

日期范围

您可以使用以下命令在 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");

输出

Precise Range