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

输出

来自 Isocalendar 的插件

台湾日历

您可以使用以下命令将其与 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();

输出

插件Github

日期格式插件

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

  • Java 日期格式解析器
  • 短日期格式化程序
  • 解析日期格式
  • 持续时间格式
  • 日期范围
  • 精确范围

Java 日期格式解析器

您可以使用以下命令将其与 Node.js 一起安装 -

您可以从 GitHub 获取 moment-jdateformatparser.js - https://github.com/MadMG/moment-jdateformatparser观察 moment-jdateformatparser 和 MomentJS 的以下工作示例 -

例子

var m = moment().formatWithJDF("dd.MM.yyyy");

输出

插件格式WithJDF

短日期格式化程序

短日期格式的 JavaScript 文件可以从 GitHub 获取 -

https://github.com/researchgate/moment-shortformat

句法

moment().short();

显示内容如下表所示 -

从那一刻起 从 moment().short()
0 至 59 秒 0 至 59 秒
1 至 59 分钟 1 至 59 m
1至23小时 1小时至23小时
1至6天 1天至6天
>= 7 天且同年 显示将类似于二月 3 日、三月 6 日
>= 7 天且不同年份 显示将类似于2018年2月3日、2018年3月6日

您可以从上面给出的 GitHub 链接获取 momentshort 脚本。

例子

var a = moment().subtract(8, 'hours').short();
var b = moment().add(1, 'hour').short(true);

输出

插件四

如果要删除后缀agoin,可以将 true 传递给 Short(tru.

解析日期格式

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

输出

精确范围