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' ]
相关文章
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
2305 103
|
JavaScript 前端开发 API
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
984 24
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
3792 0
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
769 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
人工智能 监控 前端开发
基于 Next.js 的书法字体生成工具架构设计与 SSR 优化实践
本项目是一款书法字体生成工具,采用 Next.js 14(App Router)与 Tailwind CSS 构建前端,阿里云 Serverless 部署后端。通过混合渲染策略(SSG/SSR/CSR)、Web Worker 异步计算及 CDN 字体分片加载优化性能。服务端借助阿里云函数计算处理计算密集型任务,将平均耗时从 1200ms 降至 280ms,支持 1000+ QPS。动态路由与 ARMS 监控提升工程化水平,未来计划引入 WebGPU 和 AI 字体风格迁移技术,进一步优化用户体验。
|
JavaScript 前端开发
《JavaScript忍者秘籍》——第1章 进入忍者世界 1.1即将探索的JavaScript库
这些库都经过了全面的构建并且解决了目标问题。基于这些原因,这些库对于我们进一步分析并理解代码库的基础建设,从而洞察世界级JavaScript库建设的过程打下了良好的基础。
1445 0