Moment.js 解析特殊格式
Moment.js 是一个用于解析、验证、操作和格式化日期的JavaScript日期库。在本文中,我们将学习在Moment.js中解析 特殊格式 的方法。ISO-8601格式被用作解析日期和时间的标准。我们还可以在直接从浏览器输入元素中解析日期时,指定可以在HTML5_FMT属性中指定的HTML5常量。
语法:
moment(String, moment.CUSTOM_FORMAT);
参数: 我们可以使用以下参数来解析特殊格式:
- String: 它是需要解析的DateTime。
- CUSTOM_FORMAT: 可以在这里指定自定义格式。也可以使用 HTML5_FMT 来自浏览器输入元素直接解析日期。
HTML5_FMT 属性具有以下可用常量:
常量 | 格式 | 输入类型 |
---|---|---|
月份 | YYYY-MM | <input type="month" /> |
日期 | YYYY-MM-DD | <input type="date" /> |
时间 | HH: mm | <input type="time" /> |
周数 | GGGG-[W]WW | <input type="week" /> |
秒数时间 | HH:mm:ss | <input type="time" step="1″ /> |
返回值: 此函数返回标准的时间和持续时间显示。
注意: 这不能在普通的Node.js程序中运行,因为它需要安装moment.js库。
Moment.js可以使用以下命令安装:
npm install moment
以下示例将帮助理解特殊格式解析。
示例1:
const moment = require("moment");
let special_formats1 =
moment("2021-05-07T02:30:45", moment.ISO_8601);
console.log(special_formats1);
let special_formats2 =
moment("2022-09-21", ["YYYY-MM", moment.ISO_8601]);
console.log(special_formats2);
输出:
Moment<2021-05-07T02:30:45+05:30>
Moment<2022-09-21T00:00:00+05:30>
示例2:
const moment = require("moment");
let date1 = moment("2022-06-15T15:00:00",
moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
let date2 = moment("2022-W50", moment.HTML5_FMT.WEEK);
let date3 = moment("2022-05", moment.HTML5_FMT.MONTH);
console.log("Date 1:", date1);
console.log("Date 2:", date2);
console.log("Date 3:", date3);
输出:
Date 1: Moment<2022-06-15T15:00:00+05:30>
Date 2: Moment<2022-12-12T00:00:00+05:30>
Date 3: Moment<2022-05-01T00:00:00+05:30>
参考资料: https://momentjs.com/docs/#/parsing/special-formats/