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
廣告