moment.js扩展库moment-range.js时间范围处理工具

简介: moment.js扩展库moment-range.js时间范围处理工具

moment.js扩展库moment-range.js

Fancy date ranges for Moment.js

https://github.com/rotaready/moment-range

const moment = require('moment');
const MomentRange = require('moment-range');
MomentRange.extendMoment(moment);
const range = moment.range('2014-11-01', '2015-02-01');
// 月份
let months = Array.from(range.by('month')).map(
    month => month.format('YYYY-MM-DD')
);
console.log(months);
// [ '2014-11-01', '2014-12-01', '2015-01-01', '2015-02-01' ]
// 年份
const years = Array.from(range.by('year')).map(
    month => month.year()
);
console.log(years);
// [ 2014 ]
// 星期
const weeks = Array.from(range.by('week')).map(
    month => [
        month.startOf('week').format('YYYY-MM-DD'),
        month.endOf('week').format('YYYY-MM-DD'),
    ]
);
console.log(weeks);
// [ [ '2014-10-26', '2014-11-01' ],
//   [ '2014-11-02', '2014-11-08' ],
//   [ '2014-11-09', '2014-11-15' ],
//   [ '2014-11-16', '2014-11-22' ],
//   [ '2014-11-23', '2014-11-29' ],
//   [ '2014-11-30', '2014-12-06' ],
//   [ '2014-12-07', '2014-12-13' ],
//   [ '2014-12-14', '2014-12-20' ],
//   [ '2014-12-21', '2014-12-27' ],
//   [ '2014-12-28', '2015-01-03' ],
//   [ '2015-01-04', '2015-01-10' ],
//   [ '2015-01-11', '2015-01-17' ],
//   [ '2015-01-18', '2015-01-24' ],
//   [ '2015-01-25', '2015-01-31' ] 
// ]
// 季度
const quarters = Array.from(range.by('quarter')).map(
    month => month.format('[Q]Q')
);
console.log(quarters);
//[ 'Q4', 'Q1' ]
相关文章
|
17天前
|
JavaScript 前端开发
Math对象:JavaScript中的数学工具
Math对象:JavaScript中的数学工具
26 1
|
1月前
|
前端开发 JavaScript 区块链
连接区块链节点的 JavaScript 库 web3.js
连接区块链节点的 JavaScript 库 web3.js
27 2
|
2月前
|
JavaScript 前端开发
Google Earth Engine(GEE)扩展——ee-polyfill JavaScript 方法 (ES6+)
Google Earth Engine(GEE)扩展——ee-polyfill JavaScript 方法 (ES6+)
16 1
|
2月前
|
JSON JavaScript 前端开发
基于 JavaScript 的网络请求工具库 axios 的使用介绍
基于 JavaScript 的网络请求工具库 axios 的使用介绍
68 3
|
1月前
|
存储 JavaScript 前端开发
在JavaScript中,对象和数组是如何进行扩展的?
在JavaScript中,对象和数组是如何进行扩展的?
22 4
|
6天前
|
JavaScript 搜索推荐 测试技术
深入了解 Vue CLI:现代化 Vue.js 项目开发工具
深入了解 Vue CLI:现代化 Vue.js 项目开发工具
|
26天前
|
JavaScript
js开发:请解释什么是ES6的扩展运算符(spread operator),并给出一个示例。
ES6的扩展运算符(...)用于可迭代对象展开,如数组和对象。在数组中,它能将一个数组的元素合并到另一个数组。例如:`[1, 2, 3, 4, 5]`。在对象中,它用于复制并合并属性,如`{a: 1, b: 2, c: 3}`。
12 3
|
1月前
|
JSON JavaScript 前端开发
盘点3个可以操作JavaScript的Python库
盘点3个可以操作JavaScript的Python库
28 0
|
2月前
|
存储 JSON JavaScript
打造开箱即用的js工具库之xijs更新指南(v1.2.2)
打造开箱即用的js工具库之xijs更新指南(v1.2.2)
21 5
|
2月前
|
前端开发 JavaScript 开发者
Canvas库 fabric.js可以实现哪些功能? 动图介绍
fabric.js是一个canvas库,今天整理了一下fabric.js可以实现的功能,用动图的形式分享给大家,方便快速了解fabric.js。
Canvas库 fabric.js可以实现哪些功能? 动图介绍