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 日期格式解析器
  • 短日期格式化器
  • 解析日期格式
  • 持续时间格式
  • 日期范围
  • 精确范围

Java 日期格式解析器

您可以使用以下命令通过 Node.js 安装它:

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

示例

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

输出

Plugins formatWithJDF

短日期格式化器

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

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

语法

moment().short();

显示效果如下表所示:

来自 moment 来自 moment().short()
0 到 59 秒 0 到 59 秒
1 到 59 分钟 1 到 59 分
1 到 23 小时 1 小时到 23 小时
1 到 6 天 1 天到 6 天
≥ 7 天且同年 显示格式例如:2 月 3 日,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);

输出

Plugins Four

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

解析日期格式

您可以使用以下命令通过 Node.js 安装它:

npm install moment-parseformat

示例

var a = moment.parseFormat('Friday 2018 27 april 10:28:10');

输出

Parse Date Format

请注意,输出显示无论将哪些参数(日期/时间)传递给 parseFormat,它都会给出如上所示的日期格式。

持续时间格式

您可以使用以下命令在 Node.js 上安装持续时间格式:

持续时间格式的代码库在此处可用:https://github.com/jsmreese/moment-duration-format 让我们来看一个使用持续时间格式的工作示例:

示例

var a = moment.duration(969, "minutes").format("h:mm:ss");

输出

Plugins Repository

这为创建的 moment 添加了更多持续时间细节。

日期范围

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

输出

Plugins Install Date

精确范围

精确范围将以日期、时间和人类可读的格式显示确切的日期差。您可以使用以下命令在 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
广告